Google I/O 2010 - Casting a wide net for all Android devices
Why Stack Overflow recommends it
Stack Overflow users link it when answering questions about supporting multiple Android screen densities, API levels and deprecated or newer APIs in a single app.
Recommended by 2 people across 2 different months, 2010 to 2011.
What it is
A Google I/O 2010 session by Justin Mattson on building one Android app that runs across many devices and OS versions. It covers the resource system for different screen sizes and densities, plus strategies for cross-version compatibility and common pitfalls.
What people said
Recommends Guzba · 2010-07 · Stack Overflow · on “What is the easiest way to release an Android application for multiple OS versions?”
I would suggest having the application test to see if the multitouch API calls are available and use them if they are. If they aren't simply degrade gracefully. Here is a good Google IO video on this you may not have seen: [this video]
Recommends mreichelt · 2010-09 · Stack Overflow · on “Android - Imageview in center in all screen resolution”
Simply set the scaleType attribute of your ImageView. Possible values here: ImageView.ScaleType [LINK] You might want to use CENTER . In addition you face another problem: You have to provide a hdpi image in addition to your mdpi image so your mdpi image does not get automatically scaled up to hdpi by the Android system, read more here: [LINK] Edit: Oh, and I nearly forgot: The 'drawable-mdpi' and 'drawable-hdpi' folders are only possible if you build your project against at least Android 1.6. So you have to set your minSdkVersion to 3 and your targetSdkVersion to 4, and place your images into the normal 'drawable' folder in order for Android 1.5 to catch up. See this video from the Google I
Cites Blundell · 2011-06 · Stack Overflow · on “How to deal with deprecated classes in Android to keep compatibility”
You can do that (checking the API version). You can also use reflection to call the newer classes. I wouldn't worry about using deprecated methods as all Android versions are backwards compatible, saying that you want to watch when things are for 3.0 Honeycomb as these are a little different. Here's an explanation of how to use reflection: (yes it's been on SO before, so maybe search for reflection) [this video] I'm looking at making the project this is in available but until then here's some code: (You could do this in a class that extends Application i.e. one time setup) public static Method getExternalFilesDir; static { try { Class<?> partypes[] = new Class[1]; partypes[0] = String.class; getE