BrightForms on Android Appendix

Contents Hide


Introduction

This document details what features are currently unsupported in BrightForms on Android devices, and also which features behave slightly differently on Android compared to the Windows/Windows mobile platform. Please consider these differences with cross-platform applications and Android development.

At the end of the document, there is also an explicit list of unsupported methods for reference.

Form Controls

Tabbing/Focus Properties

Input Methods

Edit Control

Combo Box

DateTime

ListView

Scribble

Image

Forms

Pixel Scaling

For more information on how to set these values, please refer to BrightForms on Android > Pixel Density Scaling section in the Bright Software User Manual.

Navigation

Properties

Menus

Cursor Forms

For more detailed information and examples of cursor forms on the Android platform, please refer to BrightForms on Android > Cursor Forms section in the Bright Software User Manual.

Project

Locale

Settings

Deployment

Synchronisation

BrightForms on Android may only sync to BrightServer instances which are version 6 or above. Previous versions of BrightServer are not supported.

The "Send server system clock for clients to synchronise" setting of BrightServer will have no effect the system clock.

Objects

Camera

Photos taken by the camera will always be taken in landscape mode.

Camera resolution is set to 640x480 by default. If a higher or lower resolution is specified, BrightForms on Android will take the image size closest to the resolution specified which is also supported by the device's camera. If a resolution larger than 1024x768 is specified, the default resolution will be used.

Calendar

Requires Android 4.0 or higher.

Email

Using the SetFromAddress(), SetFromName(), SetHost() and SetPort() methods prior to the Send method() will bypass the device's email client and send emails directly with the credentials entered prior. These values may be reset using the Reset() method.

If the body of the email text contains an HTML tag, the email message will automatically have its content type set to HTML format.

GPS

Communicating with the GPS object via COMs port is not supported, and therefore the Open() and SendMessage() methods do not apply to the Android platform. Instead, use the OpenIntermediate() method, and other GPS methods to retrieve information.

Magnetic StripeCard

Currently not supported

Query

HasRecord() will both return if a record exists, and increment the cursor position in the record set to the next record. The cursor will start at the record before the first record in this instance. This is in order to support the querying structure across platforms. BrightForms' GoToNext() will also have no effect in accordance to this behaviour.

Scanner

On most devices, the scanner operates via software – a camera-enabled device is required, along with an Android barcode scanning application (ZXing on the Play Store). The application is opened once the Scan() method is invoked, and after closing, the Action - Scan Complete expression will run. Whether or not the scan was successful may then be retrieved by GetScanResult(). There is no need to open or close the scanner via object methods.

On a successful scan, the value returned by GetBarcode() may then be retrieved. Both 1D and 2D barcodes may be attained in this fashion.

On Motorola Symbol devices running Android 4.1 and above (such as the MC32, MC40, MC67 and TC55) the scanner must be opened and closed as performed on Windows Mobile devices. Scanning is then performed via the hardware's scanner, activated by the device's scan button or calling Scan(). This will trigger the Action - Scan Complete expression in BrightForms.

Please note, on Symbol devices, between form opening and closing the scanner will not remain open, and thus must be closed and re-opened based on navigation. For more information, please refer to the BrightForms on Android > Barcode Scanning chapter of this document.

Pre-installation steps, and the Symbol installation APK must be downloaded and installed to support this functionality. For more information, please refer to the following page section of the Android documentation - Installation via APK on Symbol Devices.

Security

Methods which aren't MD5 are currently not supported.

System

System.Sleep() does not suspend the whole system, rather, it suspends the expression for the given period of time.

RunProgram() must be specified with a URI and Intent, as well as any extra information via SetObjectState() methods. For more information, please refer to the BrightForms on Android > Launching Apps via RunProgram() section of this document.

List of Unsupported Object Methods

ConnectionManager

Camera

DLL

Database

Form

GPS

MagneticStripeCard

Scanner

SerialPort

System

Controls