1.1 Installing on an Android Device
To install our application, device access to the APK application is required. This access may come from a previously configured email which sends the application to the device, or via direct connection to a computer. Once the APK file has been selected, the device will request permission to install the application.
The first time the application is executed, the following connection parameters must be indicated:
|Identification||Generic description used to identify the connection in a list.|
|User||User connecting to the server.|
|Host||Application server address.|
|Password Required||Indicates if a password is required to edit the connection configuration.|
|Port||Connection port with the server.|
|Secure Connection||If selected, the connection will be HTTPS. If not, it will be HTTP.|
|Timeout (Sec)||Maximum number of seconds the application will wait before aborting a task.|
|Cache Size||Size of the cache file.|
None: Do not debug the application.
Print: Debug only by console. Performance will be lower than in None mode, since commands will be written throughout the process.
Store: Store the debug in the device's internal database. This setting will have the lowest performance of the three. In this mode, we insert information into the database during the process.
If Print or Store modes are indicated, the connection list will show a symbol indicating that said connection is currently in Debug mode.
As we will see below, various options are available when selecting a connection:
|Edit||Edit connection values such as user, password, and URL.|
|Delete||Delete a connection from the list.|
|Set as Default||Mark a connection as default/favorite.|
* Multiple connections to the central system can be created. In this way, we can manage multiple users sharing the same device.
2.1 Product License
To enable a certain number of licenses, allowing a company's devices to access the system, a series of steps must be followed. First, an activation code must be requested for a specific number of devices, as well as a license expiration date if required. The system generates a code needed to manage these licenses.
The next step is to create a record in wic_config. Here we identify the company and enter the code previously generated by the system. Using this code tells us the number of licenses previously indicated for this company, as well as their expiration date. Users are also able to check, at all times, the number of licenses available and the number already assigned.
While creating this record, we can choose the Auto-Enable setting. If selected, each new device which attempts to access the system without a license will be accepted if licenses are currently available. Once all available licenses have been used, no other unregistered device will be able to gain access. If an expiration time has been set and that time has passed, no device will be able to access the system.
An image showing the different license types available is below:
As we can see in the table, each system device is stored with all information and a field called Enabled. This field tells us if the given device does or does not have access to the system.
If the Auto-Enable option is not chosen, each new device which attempts to register must be manually authorized. The Mobile Devices table indicates whether each device is authorized, among other data, using the Enabled field.
If a device without access attempts to gain access, an error screen will appear as shown below:
2.2 Connection Errors
2.2.1 URL (Host) Error
If the system access path is not correct, the device will show the following message:
InformationIf the central system is down or unavailable, this message will also be shown.
2.2.2 User or Password Error
If the username or password is incorrect, the device will show the following message:
|1||Retry - Try to establish the connection again.|
|2||Settings - Redefine/correct connection information.|
|3||Show/Hide Error - Show the error in more detail.|
|4||Report Error - Send an email report about the error.|
|5||Error Message - Show the error message.|
|6||Configuration - Access connection, printer, or Bluetooth configuration.|
|7||Test Connection - Test the connection to the server.|
|8||Send Error - Send error message. Equivalent to the Report Error button.|
Allows the user to reveal or hide a detailed breakdown of the error.
Sends the error via email. When this option is chosen, the system shows all options related to email sending.
Accesses connection, printer, or Bluetooth configuration.
Allows you to check the server connection.
3 Installing on an Emulator
Genymotion is an app player which is capable of executing Android applications from Windows.
The application works with the following operating systems:
- Windows XP with SP3 or higher.
- Windows Vista
- Windows 7
- Mac OS
To download the emulator, visit the following website.
Below, we offer a video tutorial showing how to download, install, and configure the emulator.
4 Main Desktop Options
Axional Mobile icon will bring up the main screen, showing the following options:
|Channels||Access to information channels personalized for the connected user.|
|Favorites||Provides direct access to the most recent transactions performed.|
|My Disk||Provides access to personal file directory.|
|Applications||Provides access to all available applications, their menus, and their screens.|
|Select Desktop||Allows users to select from the various desktops configured for their device.|
|Tracking||Sets routes and stops.|
We define "channel" as "direct and rapid access to analytical information or details contained in our ERP, which users want agile views of without having to navigate through standard menus".
Access to a particular desktop provides the ability to view various channels of analysis:
This desktop offers access to channels which report on the company's sales position. They operate according to the most typical needs regarding filters, data, types of data presentation, etc.
If another desktop is selected, different channels will be available. In this case, there will be a mix of channels reporting on costs through charts, or reporting on sales through density-based mapping.
This is a quick way to repeat the most recent actions performed. The user must search for the desired action in the list, then re-execute it. This tool tends to be used for query tasks, or for a user's most frequent transactions. The favorites screen is shown below:
4.1.3 My Disk
This offers system users rapid access to files on disk. It allows users to manage files, finding and creating shared filespace between multiple users. It eliminates the need to send these files, as they can be consulted from the system itself.
This screen grants access to the list of applications we can use. Each application corresponds to an ERP implementation in a database. In the example presented here, we have an ERP implementation to manage the company Demo Sports. On the other hand, the system is oriented towards graphing representation (charts) for management information.
4.1.5 Change Desktop
The system is capable of working with multiple desktops. Each desktop contains different information according to the parameters set for each connected user. It is not uncommon to have different desktops, according to the information to be analyzed or accessed. Therefore, users choose a selection of desktops and mark the one which interests them most.
The system allows us to track a device using GPS. The "Tracking" section contains two tabs:
- Actions: the user can initiate tracking starting from the current position, or simply mark that position in the system as a point of interest.
- Tracks: shows a list of all tracking performed by the device, grouped by day.
5 General and Hardware
The main menu of the CORE application provides access to specific data and configuration menus.
Management of the users on a device.
Leads to the set of tables associated with the synchronization rule:
Options When Selecting a Table
5.1.3 User Tables
The set of Tables associated with the synchronization rule:
Using the Table Administrator menu, as long as the connected user has the role 'sqlite' assigned to them, access will be available to the device's internal tables in order to query, delete, or synchronize them.
Options when pressing on a Table
SQL and SQLite
Using the SQL editor, SQL queries can be run in the device's internal database.
5.1.4 System Tables
Set of tables for internal use within the system.
This menu administers the printers associated with the device. From here, users can add, remove, modify, set as default, or search for printers within the device's range.
The "Add" icon opens a drop-down menu with fields to be filled out with printer information. The first field shown is a drop-down used to indicate the type of printer (WIFI, USB, BLUETOOTH). The type chosen will affect which fields are shown. Below is a list of the various options:
|Add WiFi Printer|
|Type||Printer type (in this case, WIFI).|
|Name||Generic description used to identify it in a list of printers.|
|Protocol||LPR, Direct. Indicates whether the printer uses a printing queue or direct printing.|
|Host||Printer's IP address or resource name.|
|Next Printer||Secondary printer which will print a document after the selected printer has done so. This can be used, for example, to print a document in a store and a copy in the back office.|
|Add USB Printer|
|Type||Printer type (in this case, USB).|
|Name||Generic description used to identify it in a list of printers.|
|Vendor||Decimal-format code identifying the printer manufacturer. Each manufacturer has an ID number.|
|Product||Decimal-format code identifying the product.|
|Add Bluetooth Printer|
|Type||Printer type (in this case, Bluetooth).|
|Name||Generic description used to identify it in a list of printers.|
|MAC||Physical address of the Bluetooth device. Each device possesses a unique MAC address used for identification.|
When a list of printers is saved in the system, certain actions can be performed on each of them:
|Options When Selecting a Printer|
|Edit||Edit printer values such as host, description, etc.|
|Test||Perform a test printing to check the printer is connected and functioning properly.|
|Set as Default||Mark the printer as favorite. If more than one printer has been defined, and none have been set as favorite, the system will ask which printer from the list to use before printing a document. If a printer has been assigned as favorite, the system will directly send the printing job to the machine.|
|Delete||Remove the printer from the list.|
Search for Printers
The system is able to search for printers. Two types of search are supported:
This menu administers the mobile device's connections to all associated Bluetooth devices. From here, users can check if a connection is established, see which devices have already been saved, and see all linked devices.
|1 - Connection - Shows the current connection's status. If a Bluetooth connection is active, the following information will be shown: status, name, and MAC address of the connected device.|
|2 - Saved Devices - Shows information stored on saved devices. For each, the following information is shown: name saved under, device name, and MAC address. An icon also visually indicates the device type and marks the default device with a yellow star.|
|3 - Paired Devices - Details on linked/paired devices. Shows a simple list with each device's basic information (name and MAC address).|
5.2.3 Scanning Services
This option allows the user to search for and save visible Bluetooth devices.
5.2.4 Device Actions
Users can perform various actions on the devices they manage. By pressing and holding an item on the list of saved devices, the user can:
6 System Information
Access to device information:
|System Logs||Location where information on program logs is collected. This debug will be shown based on the debug level defined in Connection Configuration.|
|Technical Details||WS Core data related to many areas, including: software version, JVM properties, hardware specs, network status of WiFi and LAN connections, connection data, GPS status, database directory and application database size, screen display size, external filesystem data, SD card, and device memory.|
|Cron||Set of tasks which the device executes in the background. Includes tasks such as table synchronization, SMS commands, and web commands.|
|Services||Shows device services and whether they are currently running, as well as their settings.|
|Disk Space and Battery||Status of both internal and external storage. Status of device battery.|
7 Install Device USB Drivers
7.1 Motorola Xoom
Download this Motorola driver here.
7.2 Samsung Devices
Install the Kies application here.
7.3 FNAC Tablet
To install the driver, right-click on device Equipment/Properties/Administrator, select the unknown device, right-click and select "Update Driver Software". Select the "usb_driver" folder which contains the drivers. ADB RK30 drivers can be found here: DB_drivers_RK30
For ADB to be able to detect the driver, the files in the "tools" folder must be placed in the corresponding folder with those files in the Android SDK (android –sdk/platform-tools).
8 Activate Debug Mode on the Device
To debug an application, the USB Debugging flag must be turned on within the Development Options section of the Settings application menu.
9 Installing Android SDK
Download the ADT Bundle from the Android Developers site. This packet provides all necessary tools, such as:
- Eclipse + ADT plugin
- Android SDK Tools
- Android Platform Tools
- The latest Android platform
- The latest Android system image for the emulator
Decompress the downloaded file in the desired location. Two subdirectories should exist within the directory:
- sdk: Contains API libraries with the necessary tools to develop, test, and debug Android applications.
- eclipse: Contains the Eclipse editor, already configured to develop Android applications.
10 Debugging Android Applications
10.1 Debugging Using the Eclipse Editor
To debug applications, open the eclipse.exe file within the previously-decompressed Eclipse folder. Once the editor has been opened, use the button shown in red below to open the Logs screen and view application logs:
The image below shows the Eclipse editor, with the Android Device Logs tab open:
10.2 Debugging Through Command Console
Debugging without installing the Eclipse editor is possible. To do so, users must open the command console and enter the platform-tools directory within the SDK folder. To debug, the following must be executed:
Normally, if any issue or error occurs, the system will display a screen with a detailed error breakdown. A button will also pop up with the option to send the error's stack trace using the device's email tool. It is always helpful to email errors to those responsible for the app.
11.1 Connection with the Central Server
To begin with, the APPS system can work in offline mode and utilize data stored in cache. There are processes which require access to the central system. Examples include synchronization or execution processes in the object line or list. The device communicates with the central server to perform data synchronization. If the central server is experiencing issues, or the device cannot access the network, the application will show the following error:
- To solve the error, the device's network service will have to be checked, and the central system's online status must be verified.