Is Android API 2.2.1 too obsolete to use?

admin

Administrator
Staff member
What Android API version would you choose to begin developing a new Java application?

Recently I got a used smartphone running Android 2.2.1. Since I never experimentend with mobile development, I decided to use it as an occasion to try to develop a new app for Android.

I worked in Java from some year, and I feel comfortable with it, so since I already work as an independent software vendor I’ll try to sell the app on the Android market if I will be able to do a good one.

I don’t want to start developing with an outdated version of the API, so a I’m asking if starting my development and learning efforts using level 8 of the Android level API is the better choose to take, or if it would be better to use a newer version of the API.

I read <a href="https://stackoverflow.com/questions/8353503/why-is-android-api-level-9-obsolete">why is Android API level 9 obsolete?</a> and <a href="https://stackoverflow.com/questions/7708847/which-android-api-to-use">Which Android API to use?</a> on S.O. about the same argument, but both the questions are pretty outdated now, and I think they left some question opened.

In particular, Jan Dragsbaek said in his answer:

<blockquote>
You should always go for the lowest possible API to use. Simply
because the lower your API level is, the more users can you reach.

So looking at the <a href="http://developer.android.com/resources/dashboard/platform-versions.html" rel="nofollow noreferrer">current stats</a>, you are able to reach 97.9% if you “dumb” yourself down to API level 7.

But why API level 9 is obsolete? One could not know for sure, but most likely because it had some major flaws.
</blockquote>

Reading <a href="http://developer.android.com/resources/dashboard/platform-versions.html" rel="nofollow noreferrer">actual stats</a>, this is the situation:

Code:
Platform        Codename            API-Lvl Distribution
Android 1.5     Cupcake             3       30,00%
Android 1.6     Donut               4       70,00%
Android 2.1     Eclair              7       550,00%
Android 2.2     Froyo               8       20,90%
Android 2.3     Gingerbread         9       0,50%
Android 2.3.2   -   
Android 2.3.3   -                   10      63,90%
Android 2.3.7   -       
Android 3.0     Honeycomb           11      0,10%
Android 3.1     -                   12      1%
Android 3.2     -                   13      2,20%
Android 4.0 -   Ice Cream Sandwich  14      0,50%
Android 4.0.2   -       
Android 4.0.3   -                   15      4,40%
Android 4.0.4           
Total for Android 2.2                       93,50%

Now the question is: What will I lose if I develop with level 8 of API in terms of features? And what do I gain in terms of stability or tool support?

<strong>EDIT:</strong>

I finally choose to use level 7 of the API, which offer me the features I really need to get started to experiment on my new phone. Eventually, when I think that app need some feature not available with the current level, then I will port the app to a next level of the API.

For now, I will try to follow <a href="http://androidresearch.wordpress.com/2012/01/07/building-a-custom-fancy-listview-in-android/" rel="nofollow noreferrer">Building a Custom Fancy ListView in Android</a> and see if I'm missing something really useful from the beginning.