Maximizing Application Compatibility Android

With almost two dozen manufacturers developing Android devices, we’ve seen an explosion of different models—each with its own market differentiators and unique characteristics. Users now have choices, but these choices come at a cost. This proliferation of devices has led to what some developers call fragmentation and others call compatibility issues. Terminology aside, it has become a challenging task to develop Android applications that support a broad range of devices. Developers must contend with different platform versions, devices with and without optional hardware such as cameras and keyboards, and variations in screen sizes and resolutions.The list of device differentiators is lengthy, and grows with each new device.

Although fragmentation makes the Android app developer’s life more complicated, it’s still possible to develop for and support a variety of devices—even all devices—within a single application. When it comes to maximizing compatibility, you’ll always want to use the following strategies:

  • Whenever possible, choose the development option that is supported by the widest variety of devices.
  • Whenever a development decision limits the compatibility of your application (for example, using an API that was introduced in a later API Level or introducing a hardware requirement such as camera support), assess the risk and document this limitation. Determine whether you are going to provide an alternative solution for devices that do not support this requirement.

Some Android device statistics regarding platform version and screen density..

Some Android device statistics regarding platform version and screen density..

Consider screen size and resolution differences when designing application user interfaces. It is often possible to design very flexible layouts that look reasonable in both portrait and landscape modes, as well as different screen resolutions and sizes. However, if you don’t consider this early, you will likely have to make changes (sometimes painful ones) later on to accommodate these differences.

  • Test on a wide range of devices early in the development process to avoid unpleasant surprises late in the game. Make sure the devices have different hardware and software, including different versions of the Android platform, different screen sizes, and different hardware capabilities.
  • Whenever necessary, provide alternative resources to help smooth over differences between device characteristics (we talk extensively about alternative resources later in this chapter).
  • If you do introduce software and hardware requirements to your application, make sure you register this information in the Android manifest file using the appropriate tags. These tags, used by the Android platform as well as third parties such as the Android Market, help ensure that your application is only installed on devices that are capable of meeting your application’s requirements.

Now let’s look at some of the strategies you can use to target different device configurations and languages.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status

Android Topics