We make sure we check the above resources regularly so we stay at the top of our game when it comes to cutting-edge Android app development for business!
Artificial Intelligence (AI) and Machine Learning (ML)
Artificial Intelligence (AI) and Machine Learning (ML) are often confused. Whilst Artificial Intelligence has been around for many years (most stocks and shares are traded automatically by software using Artificial Intelligence), Machine Learning (i.e. allowing apps to access data and then learn for themselves) is much more cutting-edge, especially when harnessing the power of neural networks which teach applications to think like humans whilst being far better than humans with regard to speed of computation and eliminating human error.
Neural Networks API
Following many years work by researchers and engineers working on the Google Brain Team within Google's Machine Intelligence research organisation, Google has just released on Android 8.1 (API level 27) their new
Neural Networks API which is designed for running computationally intensive operations for machine learning on mobile devices. Together with the new TensorFlow Lite API released on 14 November 2017, a lightweight solution for mobile and embedded devices enabling on-device machine learning and supporting hardware acceleration with the Android Neural Networks API, we are about to enter very exciting times in the world of Enterprise Android app development when combining Artificial Intelligence and Machine Learning capabilities into the custom-made Android apps we develop for clients. Hold on to your hats…
How do we transfer data from the Android app to your cloud systems?
What our customers say about us on Google Reviews (view all)
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 do we transfer data from the Android app to your cloud systems?
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 app development (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. Android app 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.
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.
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 in Android app development 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!
Software testing is one of the most important steps in the development of any bespoke Android app. The versatility of your app requires an exhaustive testing strategy. Users will interact with your app in many ways and we need to test all likely user journeys on the app to identify bugs (or indeed usability issues). Android Studio makes robust testing relatively simple by allowing us to set up JUnit tests that run on the local JVM or instrumented tests that run on a device. JUnit is a unit testing framework for the Java programming language and JVM is the Java Virtual Machine.
Android Runtime (ART) is the new runtime environment of the Android operating system. Prior to Android 4.4 (KitKat) it was the Dalvik virtual machine. ART performs the translation of an Android app's byte-code into instructions that are executed by the device's runtime environment. As opposed to Dalvik, ART compiles entire applications into native machine code on installation thereby improving efficiency & power consumption (battery drain being a massive problem with Android apps, especially those that need to sync data with cloud-based data silos like the majority of the bespoke Android apps that we develop).
JUnit 5 is the next generation of JUnit which aims to provide a solid foundation for developer testing on the JVM, focusing on Java 8 and above (which is the programming language used by our developers). Basically, as we develop a new feature we write a corresponding unit test and unit tests should try to cover all possible interactions with the unit.
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 all the Android apps we develop. 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.