0

(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?

James Green
  • 1,693
  • 11
  • 18
  • Just support both, use reflection. That is what has been asked to death on SO – Blundell Jun 26 '12 at 11:24
  • Can you show me where? My search-fu is clearly weak today, I didn't see any discussion about the factors involved in picking an API level, especially for a non-public-release application... – James Green Jun 26 '12 at 11:30
  • 1
    Here: http://developer.android.com/training/backward-compatible-ui/index.html – Blundell Jun 26 '12 at 12:06

2 Answers2

1

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.

Rafael T
  • 15,401
  • 15
  • 83
  • 144
  • Actually my question is "what features from ICS will I miss if I constrain myself to 2.3", but I take your point ;-) All I can think of are Fragments, at the moment, but I haven't played with the higher API levels enough to know for sure. SupportPackage looks a good compromise, thanks! – James Green Jun 26 '12 at 11:27
  • 1
    you noticed that Fragments is Supported inside the CompatLib? – Rafael T Jun 26 '12 at 11:34
  • I had not. I have now! More reading to do methinks... Thanks for the pointer – James Green Jun 26 '12 at 11:41
1

You can use this http://developer.android.com/sdk/api_diff/9/changes.html for differences. I personally think that for phone apps support for new apps must be from 2.2 onwards. For tablet 3.0 onwards, because 3.0 and onwards are really tablet OS'es and 2.2,2.3 are phone OS'es. You can use support packages for lower versions if you need higher end features(not all of them, but important ones like fragments etc.,). But for Phones I d stick to 2.2 and for tablets well, since Android was customized 3 onwards for tablets, I generally would go for that, unless you have 2.2, 2.3 tablets in mind as targets.

Vrashabh Irde
  • 14,129
  • 6
  • 51
  • 103
  • Hi, I don't have any 3.0 devices and I don't envisage any more being sold now ICS is out -- given this app isn't for general release, is this particularly true? I'll take a look at the change lists, although I wish there was some more ... "at a glance", rather than going through level by level. – James Green Jun 26 '12 at 11:28
  • 1
    For high level maybes this ll help http://socialcompare.com/en/comparison/android-versions-comparison . I think you are right - this kinda tells us why http://reviews.cnet.com/8301-19736_7-57340581-251/why-arent-people-buying-honeycomb-tablets/ . Well targeting honeycomb doesnt seem feasible anymore for tablets. Its a pretty good question and the answer I think lies in who you want to Primarily TARGET. Phone vs Tablet. – Vrashabh Irde Jun 26 '12 at 11:32