How we develop our Android apps

We have been developing custom Android apps for UK businesses since the first stable version of Android in 2009, using a blend of cutting-edge development methods and deep knowledge and experience to deliver bespoke solutions for exchanging data between a client’s corporate systems and bespoke Android apps. Our flexible and client-focused approach uses the latest methods and technologies whilst remaining within the client's comfort zone (e.g. when integrating with legacy system EDIs).

Keep using without an Internet connection!

We code all our Enterprise Android apps so any data which needs to be pulled from the cloud or data, photos, signatures which need to be pushed to the cloud (e.g. for real-time management reporting) is synced whenever there is an available Internet connection. This means your staff will be able to use the Android app we develop for you even when they are in an Internet connection black spot. Any operations or reporting they do on the app can be safely carried out and then this will sync with the web-based cloud systems (which we can develop for you) as soon as a connection is established.

How we transfer data from the Android app to your cloud systems?

Most of the bespoke Android app solutions we develop for companies will be made up of an Android app which can be installed on your Android phones or tablets and a secure web-app which can be used for setting up Android app users, adding data which populates forms on the Android app, setting up customer sites, setting up technician jobs, etc.. We usually also develop an API as part of the web app so the web app can integrate with other corporate systems (CRMs etc.). We then tend to code the Android app and web apps to exchange data in JSON format. JSON is an acronym for JavaScript Object Notation which is an open-standard file format used to transmit data between devices. For photos taken, or signatures captured, on the Android device, we tend to convert the photos into a Base64 array (basically a very long string of data in ASCII format where each digit represents exactly 6 bits of data) and this is sent as JSON to the web app and then on the web app we convert that string back to an image so the photos and signatures are saved on your cloud systems as images.

How we build our Android apps

We develop our Android apps in the Java programming language (the latest version is Java 9, released by Oracle in September 2017). In the early days of Android (back in 2009 for us) we used the Eclipse IDE with the ADT plugin (IDE stands for Integrated Development Environment which usually comprises a source code editor together with build and debugging tools; ADT stands for Android Development Tools and this plugin developed by the Android team at Google provided an integrated environment for the development of Android apps). In June 2015 Google announced that they would soon stop supporting ADT and any security bugs would not be fixed. Developers were therefore told they should migrate their apps to the new version of Android Studio which would become Android's official IDE. We of course followed this advice (we take security very seriously) and now all our Android apps are developed using Android's official IDE, Android Studio.

How does this help you the client?

Well, Android Studio has a number of great features which help speed up the coding and testing of Android apps. The less time we spend coding and testing our bespoke apps, the cheaper the development costs for you.

Instant Run

A great feature of Android Studio is called “Instant Run” which allows us to see coding changes in real time on a running app. We can connect any of our Android devices to the development computer via a USB cable and as we change the Android app’s source code in Android Studio we see those changes instantly on the app running on the phone/tablet without having to restart the app or rebuild the APK. This makes our lives as Android developers so much easier compared to the lengthy process we used to have to follow when developing Android apps in Eclipse.

Code Editor

The code editor in Android Studio is excellent and helps us work faster (and write more accurate code) because it offers code completion (i.e. start typing and if offers suggestions), refactoring (i.e. restructuring existing Java code without changing app behaviour) and also code analysis.

Super-Fast Android Emulator

An emulator is a screen on your computer which simulates various Android phone, tablet, Android Wear, and Android TV devices. When using the Eclipse IDE, trying to test Android apps on the device emulator was painfully slow and kept crashing. The Android device emulator which comes with Android Studio is a great tool as it comes with configurations for popular devices and can transfer data faster than a real device connected via USB. The Android Emulator also allows us to simulate features such as GPS location, network latency, motion sensors, and multi-touch input. Together with the real Android devices we test our apps on, the emulator allows us to test the Android apps we develop on any number of device configurations so we are sure they will work as intended on the many Android devices out there in the wild!

What happens if testing doesn't pick up a bug?

Don't worry! We've got it covered! We build bug and error monitoring into all the Android apps we develop so we know instantly if there is a problem! We integrate ACRA (a leading open-source bug/crash reporting library) into our apps. This means we get instant notification if any of our apps crash or throw any type of error. This allows us to deal proactively with any issues which were not identified during our extensive pre-release testing.

What is ACRA?

ACRA is a Java library which allows Android apps to automatically send crash or error reports to our report server. This allows our team to receive instant notifications when an app we have developed crashes or behaves erroneously.

Why is ACRA so good?

ACRA is a robust error notification tool which is running on over 1 billion Android devices worldwide. It allows us to receive far more detailed crash and error reports about the device running the app than the data displayed in say in Google Play.

As we focus on the development of private enterprise Android apps rather than public consumer Android apps, this ACRA reporting tool is indeed priceless.

Just some of the benefits of us integrating the free open-source ACRA bug and error monitoring into all our apps:

  • We can add our own content or debug traces to the reports so we can get back error data relevant to the business logic of the specific Android app we developed.
  • If there is no network coverage, ACRA crash/error reports are stored on the Android device and sent to our report server as soon as network coverage has returned.

What do we do with crash or error reports?

It is all well and good receiving data, it is how you use that data which counts. Our team get an email notification as soon as any of our apps generate any error or indeed crash. This error report tells us the device used, the screen they were on, the activity they were attempting when the error was thrown and the exact line of Java code which triggered the error. This allows us to look at the app source code and try to replicate that error and then resolve. We then push an automatic update of the Android app to devices so that error does not happen again.

Proactive support!

Need a quote? Give us a call!

☎ 01462 627 848