kojiko-android’s blog

開発中にハマった時の解決策や、忘れがちなことを残しておきます。

APIレベルを取得する(処理を分ける)

APIレベルによって処理を分ける方法です。

APIレベルを取得する

わずか一行で取得可能です。

int apiInt = Build.VERSION.SDK_INT;

OSのAPIレベルを整数値で取得できます。



各レベルは、コードネームの定数で定義されています。

Build.VERSION_CODES.LOLLIPOP

同様に、APIレベル19は、 KITKAT
11は、 HONEYCOMB
等があります。
あとでコードを見渡した時に、ただの整数よりも間違いが起こりにくいはずです。


OSのバージョンによって処理をわける

上記をif文で評価することで、簡単に処理を分岐できます。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    //    Do something
};

たとえば、シークバーのツマミの色を変えるメソッドはAPIレベル21以上でしか使えません。
キットカット以下の、より多くの端末に対応するには上記の分岐処理が必要です。