3日程かけて調べたもの
主な構成要素
android.app.Activity
アプリの一つの画面の管理を司る。アプリは複数のActivityから構成されている。
画面を遷移していくとスタックにActivityが積まれていく。バックキーを押すと一つポップされて前の画面(Activity)に戻る。
iOSがアプリ単位で構成されているのに対してAndroidは画面(Activity)単位で構成されていて、そのお陰で複数のアプリを自由に行き来することが出来るみたい。
android.graphics.Canvas
名前の通りキャンバスのようなクラス。Canvas::draw* といったメソッドを使うことでキャンバス上に線などを描くことが出来る。
android.graphics.Paint
描画するときの線の色・太さ等を司る。筆のようなもの。
android.graphics.drawable.Drawable
同じインタフェースで描画を行うためのインタフェース。実際の実装はDrawableを継承した上で行う。Canvasに用意されているメソッドはこれよりも低レベルと考えたほうが良いのかも。
Y.A.M の 雑記帳: Android Drawable Mutations
android.view.View
Canvas上にどのように描くかを司るクラスのインタフェース。
画面を描画はActivity::setContentViewにViewを登録することで行う。
android.widget.*
Button等よくある部品。
android.view.ViewGroup
複数のViewをまとめあげるためのView。
実際にはandroid.widget.LinearLayout等、ViewGroupを継承したクラスを用いる。
リソース
resディレクトリ以下の構成
リソースIDの参照
プログラム上では: R.リソース種類.リソース名
xml上では : @リソース種類/リソース名
リソースの参照
Resouces res = getResources();
res.get
複数の解像度の対応
AndroidManifest.xml
Androidアプリ開発!!: AndroidManifest.xml-01(Manifest.xml書き方)
フルスクリーン
View decor = this.getWindow().getDecorView();
decor.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
);
[Android 4.4] フルスクリーンで動くアプリを作る | Lab
APIレベルの取得
Build.VERSION.SDK_INT
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 |