How to Future Proof an Android App
The Android operating system, which now controls over 70% of the smart-phone market, is also one of the fastest growing. Since it was unveiled in 2007 (the first Android based phone was sold in October of 2008) there have been several iterations with numerous changes. The different versions have come all the way from Cupcake (1.5) to the latest Jelly Bean (4.1.x and 4.2). The interface has evolved, along with the features and capabilities of the OS. However, with frequent updates and varying manufacturer requirements, the operating system suffers from fragmentation. If you are an Android developer, you may have to cater to thousands of customers, using a variety of devices with different hardware specifications and versions of the operating system. The foremost challenge you will face after creating an app is making sure it stays compatible with future updates and changes. This guide will share some basic steps you can take to future proof your app.
Instructions
-
1
APIs (Application Programming Interfaces) for internal tasks such as toggling Bluetooth etc are often broken with newer versions of Android. Avoid using these APIs in your app to prevent compatibility issues.
-
2
Given the number of manufacturers currently producing Android handsets, differences in hardware specs can be astonishing. For instance, Samsung Electronics has its own SoCs (Systems-on-Chips) in some smart-phones while other manufacturers use SoCs by companies like Nvidia. Though consistency in terms of architecture is still present, compatibility issues may arise. To avoid these, do not make your app assume hardware specifications. Ensure that it works on a range of different devices with varying internals.
-
3
Poorly optimized interfaces also cause crashes. Any layouts which run too deep or broad may cause the app to break.
-
4
Newer versions of Android do not allow direct manipulation of settings without a user’s permission. You need to issue an ‘Intent to launch the appropriate Settings configuration screen’, through which the user will be able to manually change settings. This is obviously a safeguard for the users, but will break your app.
-
5
Be careful with orientation options and do not base your app’s settings on hardware assumptions. Newer versions of Android also tweak rotation settings to make them more accessible and user-friendly. If your app needs to use the device’s accelerometer for functioning, it may conflict with orientation.