Androidの正体
AndroidはLinuxベースのプログラムである。開発環境
一昔前の開発環境はEclipseを使用していた。Eclipseに専用プラグインやエミュレーターをインストールすることにより開発環境を構築することができた。開発スタイル
フレームワーク(Framework)が用意されているので、それに沿った開発をしなければならない。コンパイル後のファイル | dex
Javaクラスはdexフォーマットに変換される。 クラスをコンパイルするとdex (Dalvik Executable)ファイルとなり、.apkファイルにzipされる。 Javaのバイトコードには変換しないとのこと。Androidバージョンの違い
Androidを搭載した端末は多様であり、動作するしないの問題はつきものである。 Androidバージョンと動作保証する端末をあらかじめ決めておいたほうが良い。その他の特徴
| Android version | 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 | DOUNUT |
| 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 |
| Android 7.1.x | 25 | Nougat |
| Android 8.0.0 | 26 | Oreo |
| Android 8.1.0 | 27 | Oreo |
アクティビティのビュー
テキストボックスやチェックボックスはアクティビティにビューを設置するより実現できる。アクティビティの状態
アクティビティには状態の概念が存在する。以下に代表的な状態を示す。| アクティビティの状態 | 説明 |
|---|---|
| アクティブ状態 | アクティビティスタックで最上位の位置にあるアクティビティ。または、現在操作中の状態である。 |
| 一時停止状態 | 他のアクティビティに隠れた状態にあるが、完全動作中。 |
| 停止状態 | メンバの値は保持されている。ただしメモリ不足になれば強制的にメモリは開放される。 |
アクティビティのイベント
| アクティビティのイベント | 説明 |
|---|---|
| onCerate | onCerateは最初に実行されるイベント。このイベント後、onStartが実行される。 |
| onStart,onStop | onStartとonStopは、アクティビティが見え隠れするたびに実行される。 |
| onPause,onResume | onPause,onResumeは、一時スリープ状態や、他のアクティビティが表示されるときに実行される。OnStartやOnStopよりも、ひんぱんに実行されるため、軽めの処理を記述する必要がある。 |
| onRestart | onRestartは停止状態にあるアクティビティが、再度起動すると実行される。このイベント後、onStartが実行される。 |
| onSaveInstanceState | onSaveInstanceStateメソッドは強制終了されても、メモリ情報等を保護できる。ただし毎回呼び出されるとはかぎらないため、永続保存に用いるべきではない。 |
| onDestroy | バックグランド型アプリでは、onCreateで実行され、onDestroyで停止する。 |