[Android] API レベルと OSプラットフォーム

AndroidはOSのバージョンがたくさんあります。それに応じてAPIが新しく作成されたり、使い勝手の悪いAPIは非推奨にするなどしています。アプリを開発する側からすると、APIレベルでの細かな調整が必要になっています。一体どうなってるのかという気持ちを抑えて表にしてみました。
 

sponsored link

Platform と API Level

Platform API Level Code Name
Android 1.0 1 BASE
Android 1.1 2 BASE_1_1
Android 1.5 3 CUPCAKE
Android 1.6 4 DONUT
Android 2.0 5 ECLAIR
Android 2.0.1 6 ECLAIR_0_1
Android 2.1.x 7 ECLAIR_MR1
Android 2.2.x 8 FROYO
Android 2.3 9 GINGERBREAD
Android 2.3.1 9 GINGERBREAD
Android 2.3.2 9 GINGERBREAD
Android 2.3.3 10 GINGERBREAD_MR1
Android 2.3.4 10 GINGERBREAD_MR1
Android 3.0.x 11 HONEYCOMB
Android 3.1.x 12 HONEYCOMB_MR1
Android 3.2 13 HONEYCOMB_MR2
Android 4.0 14 ICE_CREAM_SANDWICH
Android 4.0.1 14 ICE_CREAM_SANDWICH
Android 4.0.2 14 ICE_CREAM_SANDWICH
Android 4.0.3 15 ICE_CREAM_SANDWICH_MR1
Android 4.1.2 16 JELLY_BEAN
Android 4.2.2 17 JELLY_BEAN_MR1
Android 4.3.1 18 JELLY_BEAN_MR2
Android 4.4.2 19 KITKAT
Android 4.4W.2 20 [Android Wear]
Android 5.0.1 21 Lollipop
Android 5.1.1 22 Lollipop
Android 6.0 23 Marshmallow
Android 6.0.1 23 Marshmallow
Android 7.0 24 Nougat

 

バージョン切り分け

Google:OS別のシェア
これによるとまだまだ古い機種もあるのですね。対応するのが大変です、ただ世界のシェアなので日本はどうかはまた別の話かもしれません。
 

非推奨APIがたくさんあるので、APIのレベルに応じて処理を切り分けないといけない場合があります。さてプログラム上どうするかというと、

例えばLillipop以降とそれ以外で切り分ける場合

こんな感じでいきましょうか。