For Different platform versions, Android provides different APIs. Some APIs are available for Android 2.1 - 2.3, but not available on Android 4.0 and later versions.
1)
To solve this problem, Android API provides BUILD and its nested classes to help developers to control the SDK versions on runtime.
BUILD.VERSION and BUILD.VERSION_CODES are the nested classes of BUILD.
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB){
//This method was deprecated in API level 11.
addPreferencesFromResource(R.xml.preference);
}
2)
In AndroidMainfest.xml, we also can define which level API is suitable to the android applications.
On Google Play or other Android markets, users' devices can only find the Android applications which API levels are same or higher than the minSdkVersion.
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17"
/>