Upgrade Android Devices

  • Whilst all new versions of our software are given extensive testing, every live environment is potentially different. It is therefore important that you test any existing Solutions with a new version in a test environment BEFORE you upgrade your live systems.

This topic provides information about upgrading existing versions of the Digitise Apps Client, Digitise apps, MX Client and MX apps on Android devices to the latest Digitise Apps versions.

 

The Digitise Apps software is generally supplied as a download from our web site. The Product Download includes the install file for a version of the standard Digitise Apps Client for Android devices and a full install of the Digitise Apps software, such as when upgrading a development PC, usually includes copying this Client install file to the Installs/Android folder below your installed Digitise Apps software's root folder. Either of these versions of the install file can be used to upgrade existing Clients to the latest Digitise Apps Clients. You can also generate an updated pre-configured version of the Digitise Apps Client and/or Standalone App versions from within the latest App Studio supplied with the Digitise Apps software.

You can download and upgrade the latest version of a standard or pre-configured Client to Android devices in the same way as you would install a new version, see Install Clients and Standalone Apps on Android Devices.

Your existing Digitise apps and MX apps for the Android Platform will generally work with the latest Digitise Apps Clients and App Server without any modification.

Existing Digitise apps can be edited in the latest App Studio as before.

If you are upgrading from MX v7.0 or earlier and you have used images within Ink Picture Controls, at runtime these will now be displayed at their actual size whereas previously they were auto-sized to fit the size of the Control. If you have any apps which have images displayed in Ink Picture Controls, you will need to check the display of the image after upgrading and adjust the app if necessary.

If you want to edit an existing MX app for Ink Picture Controls or to make other changes, you can do so in the latest Digitise Apps' App Studio. Simply open the app in App Studio. Before you do this, however, you need to be aware of the following points:

  • If you make changes to an existing app which was originally sideloaded onto devices and you want to upgrade it to a new version via the Google Play Store, you will need to uninstall the original app from your devices before downloading it from the app store, otherwise you may end up with two versions of the app on the devices.

  • If you are upgrading your MX software from version 8.0 or earlier there are some changes which can be implemented after installing the upgrade by editing various Properties in App Studio:

    • If you are upgrading from MX v7.0 or earlier, a later change could inadvertently affect the way numbers are dealt with in Data Sources when uploading data to a remote data source. This could result in numbers which were previously transferred as integers becoming floating point numbers. If this problem occurs after upgrading, you can use the SQL Type Override Property for affected data items to change the data type used to store the data in the local database on the device. This Property can be accessed by loading the affected app’s Project in App Studio, displaying the Data Sources Pane and selecting an affected data item. The Properties for the selected item will be displayed in the Properties Pane. Locate the SQL Type Override Property and try setting it to an integer data type.

    • v10 introduced support for Null values in variables and as parameters to various Methods. This means that Null (case-insensitive) is now a reserved word and cannot be used for variable or Function names.

      A Property is provided in the Project Properties which allows you to retain the existing way of working in your legacy Projects: Enable Null Script Variables. By default, this Property will be set to False for legacy Projects which means that ‘Null’ will not be treated as a reserved word.

      If you want to change your Project to use Nulls, simply change this Property to True.

      In this case, if you have any variables etc. named ‘Null’, when your Scripts are verified the Syntax Checker will list them as errors in the Script Errors Pane and you will need to locate and rename any such items.

      For new Projects, the default value for this Property is True.

    • The Date and Time Methods, e.g. DateAdd, DateDiff, Day, Hour etc., have been updated to provide consistency across Platforms. Most Methods are now available on the Android Platform and work in the same way on all supported Platforms.

      A new Property has been added to the Project properties to allow you to retain the previous method of working for these Methods: Use Cross-Platform Date Functions. By default, this Property will be set to False for legacy Projects which means that date functions will continue to work as they did.

      If you want to change your Project to use the new date Methods, simply change this Property to True. For new Projects, the default value for this Property is True.

    • MX versions later than v8.0 have a Property allowing you to stop a Timer Control from running when the user moves off the form it is on. The new option is a Property of the Timer Control called Active on Parent Form Only. By default, this Property will be set to False for legacy Projects which means that Timers will continue to work as they did before and continue running when the form they are on is hidden. If you want to stop the Timer when the form is not the current form, set this Property to True. If set to True, the Timer will stop when you move off the form and continue if the form is redisplayed.

  • If you are upgrading your MX software from a version of MX prior to v6.1, note the following:

    • MX v6.1 introduced support for floating point division using the ‘/’ operator. Previously ‘/’ performed integer division only and so earlier apps may need to be modified to account for floating point numbers or to retain the previous method of working. To do this, load the app within App Studio and a message will be displayed asking if you want to retain the integer division functionality or change to floating point.

      Choose Yes to move to floating point division or No to retain the previous method of working. You can also change between the two methods using the Floating Point Division Property in the Project Properties.

      If you change to using floating point division, anywhere you have used the ‘/’ operator will now perform floating point division and you may need to edit your Scripts to allow for different results being returned by the operation. You can also modify your existing Scripts to retain integer division by editing the relevant Scripts and replacing the ‘/’ operator with the newer integer division operator: ‘\’, which will return an integer result as before.

    • MX v6.1 introduced a fix for iOS devices to store dates in the device’s local database using ‘-’ as the separator instead of ‘/’. This was causing problems for example when attempting to perform date comparisons in SQL statements.

      After the upgrade existing apps may still hold dates in the previous format within the database and so we recommend that you drop any current table(s) and repopulate, if your apps don’t do so automatically. Otherwise, for dates stored under a version of MX prior to v6.1 a workaround is available - contact NDL's Helpdesk for assistance.

      This fix doesn’t affect the way dates are input, extracted or displayed within the Digitise Apps Client, only the way they are stored in the local database.

  • MX v10 included some changes to the operation of Combo Box Controls when using SetControlValue in order to make the operation of these Controls consistent across different Platforms. Differences in operation on Android devices have been retained to maintain backwards compatibility. However, if you are upgrading from MX v8 or earlier and use Combo Boxes with SetControlValue in any of your apps, we recommend that you test those apps after upgrading and check that your Combo Boxes work as expected.

  • From MX v10, the GetSystemInfo Scripting Method now returns the correct device ID on Android Devices instead of an empty string when using the “Device.PIN” parameter. If you have any existing apps on Android devices which use this method to check whether the app is running on an Android device, you will need to edit the app to take account of the new return value.


See also:

Upgrade to the Latest Version of Digitise Apps

Upgrade an Existing Version of Digitise Apps

Upgrade MX to Digitise Apps