スポンサーリンク

【Kotlin】sdk のバージョンで処理を処理を分ける方法とバージョン一覧

Android 開発時にOSのバージョンによってメリットの書き方が変わったり、APIが非推奨(Deprecated)になることがあります。(is Deprecated as of api)

Androidは古いバージョンを利用されていることが多いため簡単には古いバージョンは非対応にできません。インストールできる対象端末が減ってしまいます。

また最新のAPIを利用時「minSdkVersion」の低い端末では利用することができず実行時エラーが発生します。

さらに、Android Studio では警告が出ます。
Call requires API level 3 current min is 21

そこで、実行する端末のOSによって処理を変える必要があります。

バージョン毎に処理を変える方法

端末のバージョンを取得し〜以上、以下、指定のバージョンで処理を切り替えます。
細かくバージョンの処理を分ける場合は「when」を大きく分ける場合は「if」で切り替えると良いでしょう。

if の場合

if(Build.VERSION.SDK_INT == Build.VERSION_CODES.O) {
    // API26 の処理
}

when の場合

when {
    Build.VERSION.SDK_INT == Build.VERSION_CODES.O -> println("O")
    Build.VERSION.SDK_INT == Build.VERSION_CODES.N_MR1 -> println("N_MR1")
    else -> println("I don't know version.")
}

バージョンの種類

API バージョン 変数名 OSバージョン リリース日
1 BASE 1.0 2008年10月
2 BASE_1_1 1.1 2009年2月
3 CUPCAKE 1.5 2009年3月
4 DONUT 1.6 2009年9月
5 ECLAIR 2.0 2009年11月
6 ECLAIR_0_1 2.0.1 2009年12月
7 ECLAIR_MR1 2.1 2010年1月
8 FROYO 2.2 – 2.2.3 2010年6月
9 GINGERBREAD 2.3 – 2.3.2 2010年11月
10 GINGERBREAD_MR1 2.3.3 – 2.3.7 2011年2月
11 HONEYCOMB 3.0 2011年2月
12 HONEYCOMB_MR1 3.1 2011年3月
13 HONEYCOMB_MR2 3.2 – 3.2.6 2011年5月
14 ICE_CREAM_SANDWICH 4.0 – 4.0.2 2011年10月
15 ICE_CREAM_SANDWICH_MR1 4.0.3 – 4.0.4 2011年11月
16 JELLY_BEAN 4.1 – 4.1.2 2012年6月
17 JELLY_BEAN_MR1 4.2 – 4.2.2 2012年11月
18 JELLY_BEAN_MR2 4.3 – 4.3.1 2013年7月
19 KITKAT 4.4 – 4.4.4 2013年10月
20 KITKAT_WATCH 4.4W – 4.4W.2 2014年6月
21 L
LOLLIPOP
5.0 – 5.0.2 2014年11月
22 LOLLIPOP_MR1 5.1 – 5.1.1 2015年3月
23 M 6.0 – 6.0.1 2015年10月
24 N 7.0 2016年8月
25 N_MR1 7.1 – 7.1.2 2016年10月
26 O 8.0 2017年8月
27 O_MR1 8.1 2017年12月
28 P 9.0 2018年8月
29 Q 10.0 2019年9月

 

タイトルとURLをコピーしました