2012-09-23 14 views

答えて

4

は、あなたが使用することができます:参考

Integer.valueOf(android.os.Build.VERSION.SDK); 

をあなたはここでチェックしたいことがあります。http://developer.android.com/reference/android/os/Build.VERSION.html#SDK

とレベルのために自分はここにリストです:http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

+1

、私が使用しているandroid.os:

が、これはそのようなコードを書くのは手間がかかりますが、なぜその最善を各アンドロイドバージョン用に別の実装を作成し、それがベースのインターフェースを考えたアクセスするためのthats .Build.VERSION.SDK_INT代わりに、ありがとうございます –

7

ここにあなたがしますこの件に関する非常に良いテキストを見つける:

http://android-developers.blogspot.com/2010/07/how-to-have-your-cupcake-and-eat-it-too.html

あなたはbasicly以下のようなコードを使用する必要があります。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"); 
} 

constの値は、静的にJavaクラスに入れているので、限り、彼らは、コンパイル時に使用可能なように、彼らは以前のAndroid SDK-Sでも利用できるようになりますユーザーの携帯電話であなたがしたくないことは、以前のsdk-sで利用できなかったメソッドを呼び出すことです。これはVFY例外で終了します。

廃止だ
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(){} 
} 
関連する問題