Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm a Java developer and I'm going to start working with Android to get familiar with mobile apps. I've worked with Ajax toolkits, but haven't done any mobile development.

I've seen a huge change in development on certain toolkits where the learning curve really jumps up, as in GWT 1.5 versus 2.4. I'm just wanting to jump in and get the basics (along with best practices) down for now. I don't know if Android 2 versus version 4 would do that, but version 4 might just throw in extra features that I might not need to know about for now and take away from my main focus.

Is it better to go with the latest version of Android or, to make sure the fundamentals are covered, take an older version that would be easier to get in and start developing with?

share|improve this question
add comment

3 Answers

up vote 5 down vote accepted

During your learning you should skip anything Android < 2.1 specific. There aren't too many devices on the market running those old versions, you can skip even 2.1.

First of all I would suggest to learn the developer guide: http://developer.android.com/guide/index.html After you read those docs you should start the training section: http://developer.android.com/training/index.html

share|improve this answer
1  
So you are recommending just starting with the latest version then? –  James Drinkard Jan 27 '12 at 18:20
1  
I wouldn't skip 2.2; the latest stats (see Mahmoud's post) indicate 30% of devices still use Froyo, and unless you have a really good reason, that's a fair number of users to exclude. This is partially because a fair number of phones didn't have an official upgrade path to Gingerbread - for example, the HTC Desire, which was a pretty popular model, can only be upgraded using an RUU image, meaning a wipe is required. (Granted, I'm slightly biased since I'm one of those people.) –  Michael Madsen Jan 27 '12 at 23:08
    
Sorry, I mean I would skip 2.1 and start with 2.2 :-) –  dmaxi Jan 28 '12 at 20:06
    
There are still some Froyo devices sold, so you shouldn't skip it unless you have very good reasons. BTW, I'm also biased because of my Galaxy Tab which has yet to get an official update... –  user281377 Jan 28 '12 at 22:55
add comment

Anything which is related to Android 1.6 and earlier can be skipped, they consitute a very small range of devices. After Android 1.6 there weren't many great changes to APIs, so I can talk about the particular changes.

  • Fragments. Absoultely worth learning. They were introduced in Android 3.0, but they are available via a compatibility package on Android 1.6+, and using them is a good thing because they make it easy to break UI into self-contained parts. Activities also do that, but to a lesser extent.
  • Loaders. They were introduced at the same time as fragmetns, and their purpose is asynchronous data retrieveing and updating. Everything I said about fragments applies to them: you can use them via compatibility package, and they are very useful.
  • Action bar. Also introduced in Android 3.0, but it is unavailable on devices prior to it. You can make it show in your application if it is run on the Android 3.0+ devices, but right now they are in minority. Their share will increase, of course, but this will not happen all of a sudden.
  • Drag and drop. Yet another feature from Android 3.0 (yes, most changes happened there since it's the first release to support tablets), but it's not available on devices prior to Android 3.0, so it's not very important at this time.
  • Supporting both tablets and handsets. This is not a feature, of course, it is something you will have to keep in mind if you intend your application to run correctly both on the devices with Android 2.x and 3.0+. Before the tablet support in Android 3.0 you didn't have to think about the large screens. Android 3.x releases, however, are aimed at the tablets, and Android 4.0+ runs on both tablets and handsets. Tablets with Android 3.0+ are not so numerous nowadays, but it wouldn't hurt to design your application in a way that makes it easy to use it on either device type.

Besides that, there are really no major changes in the development since 1.6. Of course new APIs got added, but nothing that would call for relearning the platform. The fundamentals are all the same.

share|improve this answer
add comment

There's a chart that shows the share of every Android version, use this to identify which versions have a significant share, and which don't.

Going with just the latest version isn't a good idea most of the time.

share|improve this answer
1  
Good point! You have access to the latest resources with the latest version, but I wasn't aware of the chart. –  James Drinkard Jan 27 '12 at 18:24
    
Ooh, +1, I'd not known about that chart either. I was worried about excluding <2.1 with my most recent project, but I guess it's nowhere near as big a deal as I thought it was. (I'm on 2.1, so I thought there were more older ones still around) –  Izkata Jan 27 '12 at 22:29
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.