Search code examples
androidapiandroid-4.0-ice-cream-sandwichandroid-2.2-froyoandroid-2.3-gingerbread

Factors when deciding which Android API version to support (in-house application)


(Let me begin by saying that a) I appreciate this is the wrong place to ask which version I should use, especially because my question is only locally relevant, and b) I am surprised this hasn't been done to death, but it appears it hasn't!)

At work, I have been tasked with writing an Android application for internal use, by largely non-technical users. We have an existing application (which is dire), and a bunch of devices (currently all 7" tablets, but this is not necessarily going to be always true) running Froyo and Gingerbread for which the manufacturer has no plans to release ICS updates. On the one hand, it would suck to obsolete that hardware (although we could go for non-supported ICS-based 3rd party ROMs), but on the other hand it seems crazy to restrict myself to the 2.2 API when ICS seems to offer a range of shiny new features.

Is there a good comparison reference out there, to see the key differences between API levels? Also, given the glacial adoption rate of 4.0, am I insane to even consider dropping 2.x just yet? And most importantly of all, what factors should inform my decision as to which API to support, that I haven't even mentioned above?


Solution

  • First Question you have to ask yourself is: Which feature do you want to use from ICS which is NOT available in 2.2/2.3 ? If the answer is "I don't know" then you absolutely should stick to 2.2. You have the option to use a SupportPackage, if you like to integrate some features of Higher Versions.

    If you know a specific feature you'd like to use, check if it is inside the SupportPackage.