यहाँ
आप: http://developer.android.com/reference/android/os/Build.VERSION.html#SDK
और स्तरों के लिए खुद को यहां के लिए सूची है इस विषय पर बहुत अच्छा टेक्स्ट पाएं:
http://android-developers.blogspot.com/2010/07/how-to-have-your-cupcake-and-eat-it-too.html
आप मूल रूप से नीचे की तरह कोड का उपयोग करना चाहिए: तो जब तक वे संकलन के दौरान उपलब्ध हैं
ICE_CREAM_SANDWICH तरह
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
Log.i(LOG_TAG, "At least ICS version");
}
else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
Log.i(LOG_TAG, "At least HoneyComb version");
}
else {
Log.i(LOG_TAG, "legacy");
}
स्थिरांक मान स्थिर जावा वर्गों में डाल रहे हैं, वे पिछले Android SDK-एस पर भी उपलब्ध होगा उपयोगकर्ता फोन पर। जो आप नहीं करना चाहते हैं वह उन तरीकों को कॉल करना है जो पिछले एसडीके-एस पर उपलब्ध नहीं हैं, यह वीएफवाई अपवादों के साथ खत्म हो जाएगा।
लेकिन यह उस तरह कोड लिखने के लिए कठिन हो सकता है, thats अपने सबसे अच्छे रूप क्यों प्रत्येक एंड्रॉयड संस्करण के लिए अलग कार्यान्वयन बनाने और इसे आधार इंटरफ़ेस का उपयोग करने के बारे में सोचा:
interface ImplBase {
void myFunc();
};
class ICSImp implements ImplBase {
public void myFunc(){}
}
class HoneyCombImp implements ImplBase {
public void myFunc(){}
}
class LegaceImp implements ImplBase {
public void myFunc(){}
}
कि अब पदावनत कर रहा है, मैं का इस्तेमाल किया है android.os इसके बजाय .build.VERSION.SDK_INT, लेकिन बहुत बहुत धन्यवाद –