BLOG
|
The AppStudio Framework , or AppFramework, contains platform-neutral QML components to allow you to create apps that work across multiple platforms. The components that the AppFramework provides are intended for use in providing base functionality for your app, including managing file paths, networking interfaces, and image manipulation, as well as tools specific to working within the AppStudio environment. The AppFramework library is unique in that it has features and capabilities that are neither natively provided by the underlying Qt framework nor the ArcGIS Runtime but are necessary and commonly used for developing apps. We are excited to share new features and enhancements added to AppStudio 4.4 release with you in this blog post. New ReadCSVFiles method The comma separated values format (CSV) has been widely used for exchanging and converting data between various spreadsheet programs, this format is very common including in ArcGIS Survey123. The AppFramework FileFolder component now parses CSV files using the internet standard RFC 4180 and the AppFramework SQL component now uses the internet standard RFC 4180 for improved virtual table handling of CSV files. This code sample shows potential usage of FileFolder.readCvsFile() method, using all provided options. Item {
FileFolder {
id: testFolder
path: "TestFolder"
}
function runTest() {
var options = {"delimiter": "|"}
var inputFile = AppFramework.resolvedPath(testFolder.filePath("test.csv"));
try {
testFolder.readCsvFile(inputFile, options);
} catch (error) {
console.log("Error in " + error.fileName + ":" + error.lineNumber + ": " + error.message);
}
}
Component.onCompleted: {
runTest();
}
} New BrightnessContrastFilter component The BrightnessConstrastFilter component provides a way for an app to change video output by allowing for brightness and contrast to be modified before being passed on to another filter. When used in conjunction with another video filter, it can result in improving the digital image processing in that video filter. For example, when used with BarcodeVideoFilter, it can improve the capture of barcodes. This code sample shows a potential usage of BrightnessContrastFilter, altering the contrast of the video output before passing it on to BarcodeFilter. Page {
VideoOutput {
anchors.fill: parent
filters: [ brightnessContrastFilter, barcodeFilter ]
}
BrightnessContrastFilter {
id: brightnessContrastFilter
contrast: 0.20
}
BarcodeFilter {
id: barcodeFilter
onDecoded: console.log("barcode.decoded: ", barcode, barcodeType, barcodeTypeString)
}
} AppFramework OpenURLExternally method enhancements This method, bool AppFramework.openUrlExternally(URL), opens the provided URL in an external app. This method can accept multiple kinds of URLs, and will behave differently depending on what kind of URL is provided. If given a web URL, the destination will open in the device's default browser. On Android, a share sheet will open allowing the user to select a preferred browser. If given an app link, the app will open if installed on the user's device. Otherwise, it will behave in the same way as a web URL. If given an app schema, the app will open if installed on the user's device. Otherwise, it will do nothing. If given a file URL, Android will open a share sheet to select an app to open the file with, iOS will open it in a document viewer, and all other platforms will open the file using the default app used for its MIME type. The URL parameter for this method is the URL to open in an external app. This can be a web URL, an app link, an app schema, or a file URL. Other changes and new features include the following: The Management AppFramework plug-in has been updated to provide support for AppConfig and Enterprise Mobile Management (EMM) on Windows through the use of Windows Registry subkeys and values. Support added for new background location permission introduced in Android 11. Improved robustness of the captureToLocation property in CameraDialog to detect if the fileUrl is a folder or a file. Improvements in AppFramework.openUrlExternally to support App Links, URL Schemes, Content URI and file URLs. SecureStorage in Android is using a stronger and better encryption algorithm. Updated from OpenSSL 1.1.1d to OpenSSL 1.1.1h. Other bug fixes and enhancements are listed in this blog post. Learn more about AppStudio: New to AppStudio? Check out this website to learn more about what ArcGIS AppStudio can do to you and your organization. Check out our recent workshop recordings to get started with creating native apps using AppStudio. Let us know about your creations built using AppStudio to be featured in AppStudio Showcase Gallery. Provide your ideas and suggestions to us on ArcGIS Ideas site. Follow us on Twitter @ArcGISAppStudio to keep up-to-date on the latest information. The AppStudio team periodically hosts workshops and webinars; please sign up for the AppStudio newsletter if you are interested in information regarding AppStudio events.
... View more
5 hours ago
|
0
|
0
|
26
|
POST
|
@raabdurrahman As of today, AppStudio version 4.4, MacBook Pro with M1 chip is NOT supported. We are waiting for Qt Framework to support it. It will be available in Qt 6.x, and we will not migrate to it at least the end of the year or 2022. I recommend you submit an official enhancement through Esri Technical Support so that you can keep track of it. Thank you, Erwin
... View more
yesterday
|
1
|
0
|
12
|
POST
|
@alphacoder I think with this fix on this post, https://community.esri.com/t5/arcgis-appstudio-questions/getting-path-for-image-for-both-ios-and-android/m-p/1017898#M3761 , it should also fix this issue. Erwin
... View more
a week ago
|
0
|
0
|
19
|
POST
|
@ScottLehto3 1) Yes, this needs to be taken into consideration when customizing Survey123, maintenance. We recommend that you have some kind of record of the customization that you did in a code repository system. I also know some customers who simply stay in the same version if they don't need the features from the new versions. 2) While developing, you can use AppStudio Player, https://doc.arcgis.com/en/appstudio/configure-apps/appplayer.htm . I also some people who use AppStudio Player in a production environment, since AppStudio Player is used more and more as app distribution tool. But most people would eventually publish their app to the Apple App Store and Google Play Store. I hope I answer your questions. Thank you, Erwin
... View more
a week ago
|
2
|
1
|
31
|
POST
|
@ScottLehto3 Here is a good guide from ArcGIS Runtime SDK for Qt on Edit Features, https://developers.arcgis.com/qt/latest/qml/guide/edit-features.htm And there is a sample in AppStudio Desktop, called "Update Attributes" that is based on this sample, https://developers.arcgis.com/qt/latest/qml/sample-code/update-attributes-feature-service/ I hope this is useful, Erwin
... View more
2 weeks ago
|
0
|
0
|
28
|
POST
|
@GarrettRSmith The MMPK should be uploaded to ArcGIS Online, then you need to provide the ID of that item in the Setting of QuickReport app. See this doc, https://doc.arcgis.com/en/appstudio/configure-apps/templatequickreport.htm Erwin.
... View more
2 weeks ago
|
0
|
1
|
45
|
POST
|
@GarrettRSmith I am not too sure where we would get Display Name from your screenshot. But I think we are using the "alias" value of the fields in the feature layer for the Add Details page in Quick Report. See feature layer specification, https://developers.arcgis.com/rest/services-reference/layer-feature-service-.htm Erwin.
... View more
2 weeks ago
|
0
|
0
|
18
|
POST
|
@GarrettRSmith Without the Developers License, your option is to use AppStudio Player on their smartphone to download your app. If the testers are not in the same ArcGIS Online ORG, then you need to make your to be shared publicly. In AppStudio Player you can download a publicly shared app by going to Cloud tab, Search (top right corner), then make sure the filters are set to Public apps and anyone. Thank you, Erwin
... View more
2 weeks ago
|
0
|
0
|
26
|
POST
|
@x_d What does the console.log say? Is it the expected URL? If yes, the rest is just processing the URL object. Your code looks correct and it is very similar to the sample, you can also look at the example of this on Survey123 template source code, Survey123/template/SurveyApp.qml around line 219, onOpenUrl signal. I am using Survey123 3.11 and AppStudio 4.4 Thank you, Erwin
... View more
2 weeks ago
|
1
|
0
|
51
|
POST
|
@DavidKramar1 You can take a look at the function getAttributeDomainValues() on QuickReport/pages/AttributePage.qml around line 181, I think this is how we get the coded domain value, and possibly sorting it, then add them to the model to be displayed. Thank you, Erwin.
... View more
2 weeks ago
|
0
|
0
|
9
|
Online Status |
Offline
|
Date Last Visited |
5 hours ago
|