Skip to content
4 May 2012 / parroit

Is Android API 2.2.1 too obsolete to use?

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 why is Android API level 9 obsolete? and Which Android API to use? on S.O. about the same argument, but both the questions are pretty outdated now, and I think they left some question opened. So I post part of this blog post as a question on StackOverflow.com.

Some of the responses get me inspired.

In particular, Jan Dragsbaek said in his answer:

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 current stats, 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.

Reading actual stats, this is the situation:

Platform Codename API Level 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?

Android Support Packages

Here Android Support Packages come at hands, as suggested by sultan-of-swing in it’s S.O. response.

From the site of Android:

The Support Package includes static “support libraries” that you can add to your Android application in order to use APIs that are either not available for older platform versions or that offer “utility” APIs that aren’t a part of the framework APIs. The goal is to simplify your development by offering more APIs that you can bundle with your application so you can worry less about platform versions.

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 Building a Custom Fancy ListView in Android by AndroidResearch, and I’ll see if I’m missing something really useful from the beginning.

In a future post, I will tell you how I a’m proceeding with the app…

Advertisements