一番かんたんなJava入門

これからJavaを始めようという人の為の超入門サイトです。丁寧、簡単にこだわった解説なので初心者にぴったりです

Home » 忘備録 » AndroidOSのバージョン(APIレベル)によって処理を変える方法

AndroidOSのバージョン(APIレベル)によって処理を変える方法

time 2013/05/05

※最新の情報に更新しました(2015年2月22日)
 androidは日々進化しています。いろんな機能が追加されていくそのスピード感は素晴らしいと思うのですが、アプリを作っていると、いろんなOSのバージョンに対応する必要があるので結構大変です。今でも2.xを使っている人は多いらしいし(実は僕もです。。)、最新の4.xも増えていると思います。一番困るのがハードキーのmenuボタンが無くなって、その替わりにaction barというUIが実装されたことです。勝手にボタンを無くすなよ!と言いたいところですが、開発者の端くれの端くれとしてはandroid様に従うしかないので、なんとかついて行くしかありません。。

 そこで今回は、androidのOSのバージョンによってプログラムの実行内容が変わるように、if文を使って分岐させる方法を防備録として書いておきます。

sponsored link

機種のAPIレベルを取得する

 機種によって対応するには、まずはその機種のOSのバージョン(APIレベル)を取得する必要があります。びっくりするぐらい簡単にできます。

Build.VERSION.SDK_INT

このコードで、その機種のAPIレベルが取得できます。14とか17とかのあれです(一覧表は下を参照)。この方法で取得したAPIレベルの値はint型なので、if文を使ってこんな風に分岐させることができます。

if(Build.VERSION.SDK_INT <= 10){
     //APIレベル10以前の機種の場合の処理
}else if(Build.VERSION.SDK_INT >= 11){
     //APIレベル11以降の機種の場合の処理
}

OSのバージョンからAPIレベルを取得する

 ただし上のコードでは、10とか11とかがどのバージョンを指しているのかよく分からないし、いちいち覚えていない人も多いと思います。そこで、こんな風に各androidのバージョンのコードネームからAPIレベルを取得する方法があります。

Build.VERSION_CODES.HONEYCOMB

このコードで11というint型の数値を取得します。つまり上記の分岐処理はこう書き換えられます。

if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1){
     //APIレベル10以前の機種の場合の処理
}else if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){
     //APIレベル11以降の機種の場合の処理
}

バージョン & APIレベル一覧表

androidのバージョンとAPIレベル、それを取得するためのコードの一覧表です。

android バージョン コードネーム APIレベル Build.VERSION_CODES.
1.0 1 BASE
1.1 2 BASE_1_1
1.5 Cupcake 3 CUPCAKE
1.6 Donut 4 DONUT
2.0 Eclair 5 ECLAIR
2.0.1 6 ECLAIR_0_1
2.1 7 ECLAIR_MR1
2.2 Froyo 8 FROYO
2.3 – 2.3.2 Gingerbread 9 GINGERBREAD
2.3.3 – 2.3.7 10 GINGERBREAD_MR1
3.0 Honeycomb 11 HONEYCOMB
3.1 12 HONEYCOMB_MR1
3.2 13 HONEYCOMB_MR2
4.0 – 4.0.2 IceCreamSandwich 14 ICE_CREAM_SANDWICH
4.0.3 – 4.0.4 15 ICE_CREAM_SANDWICH_MR1
4.1 JellyBean 16 JELLY_BEAN
4.2 17 JELLY_BEAN_MR1
4.3 18 JELLY_BEAN_MR2
4.4 Kitkat 19 KITKAT
5.0 Lollipop 21 LOLLIPOP

※APIレベル20はウェアラブル端末専用

参考:<uses-sdk> | Android Developers

今だけ→転職できなければ全額返金の「エンジニア転職保証コース」
絶対エンジニアになる!→テックエキスパート

フリーランスエンジニアの収入例を見てみる→レバテックフリーランス

全くの初心者がWordPressでブログを始める方法

全くの初心者がWordPressでブログを始める方法

sponsored link

Androidアプリを作ろう

down

コメントする



一番かんたんなJava入門

Androidアプリの作り方

忘備録

私の作ったAndroidアプリ

おすすめプログラミングスクール

プログラミングスクール検索

受講スタイル

習得したいスキル

習得したい言語・フレームワーク

オプション

料金

 この本は全く何も分からない初心者の方にお勧めです。プログラミングをするには覚えなければならない事が無茶苦茶いっぱいありますが、この本は教えてくれる順番、その構成が素晴らしいです。RPGのゲームを作るというストーリーにのっとってちょっとずつ難しいことを教えてもらえます。
 無機質で膨大なデータが載っているような本は読む気にならないという方は、こういうストーリー仕立ての本でチャレンジしてみてはいかがでしょうか?(注:RPGを作る為の本ではありません。)

 ある程度、Javaを読み書きできるようになったら、オブジェクト指向について学ぶべきです。本書は、抽象的で分かったような分からんようなオブジェクト指向という考え方について、非常に分かりやすい例を出して説明してくれています。オブジェクト指向とは何なのか?という本質を掴むのにこれほど適した本はないと思います。
 オブジェクト志向の理念を理解できれば、より効率のいいコードをより楽に書けるようになるはずです。Java上級者を目指すなら必読の一冊![詳細]

管理人

Nobuo_CREATE

Nobuo_CREATE

WordPressテーマPrinciple、マテリアルを作ったり、Androidアプリを作ったり、Java入門サイトを作ったり、本を書いたりしています。大阪の北野田駅近くのマイスタイルという学習塾を経営しています。どうぞよろしく。 [詳細]



sponsored link

オススメ書籍

 この本は全く何も分からない初心者の方にお勧めです。プログラミングをするには覚えなければならない事が無茶苦茶いっぱいありますが、この本は教えてくれる順番、その構成が素晴らしいです。RPGのゲームを作るというストーリーにのっとってちょっとずつ難しいことを教えてもらえます。
 無機質で膨大なデータが載っているような本は読む気にならないという方は、こういうストーリー仕立ての本でチャレンジしてみてはいかがでしょうか?(注:RPGを作る為の本ではありません。)

 ある程度、Javaを読み書きできるようになったら、オブジェクト指向について学ぶべきです。本書は、抽象的で分かったような分からんようなオブジェクト指向という考え方について、非常に分かりやすい例を出して説明してくれています。オブジェクト指向とは何なのか?という本質を掴むのにこれほど適した本はないと思います。
 オブジェクト志向の理念を理解できれば、より効率のいいコードをより楽に書けるようになるはずです。Java上級者を目指すなら必読の一冊![詳細]

只今、急拡大中

JavaからのRuby on Rails入門

JavaからのRuby on Rails入門