Sample_android
Android Sample
基本
画面を持つプログラム
- activity
- appwidget
画面を持たないプログラム
- service
- contentprovider
通知系
ポップアップ
- Toast
Toast.makeText(getApplicationContext(),"message",Toast.LENGTH_LON).show();
- PopupWindow
ステータスバーに通知
- NortificationManager
ダイアログ
- AlertDialog
- ProgressDialog
ファイル
読み込み
書き込み
画像の読み込み
DB
DBはSQLiteが組み込まれている。
マルチスレッド
Handler
AsyncTask
ネットワーク
http
- html取得
- oauth認証
xml
- パース
描画(レイアウトベース)
レイアウト
- LinearLayout
- 横並び、縦並びの単純な形を作るレイアウト。要素にレイアウトも入るので、ある程度は複雑にもできる。ただし、入れ子にしすぎるとオブジェクトが増えすぎて重くなる。
- RelativeLayout
- 各ビュー毎に互いに関連付けを行う、柔軟な配置が可能なレイアウト。下から配置していくようなレイアウトを作る場合などはこれを使う。記述は面倒だが、オブジェクトの数は少なくすることが可能なため、パフォーマンス向上のために用いる場合がある。
- AbsoluteLayout、FrameLayout
- 座標を指定して配置するレイアウト。直感で配置していけるが、端末の解像度の違いに対応できなくなることを懸念してか、非推奨とされている。
- ScrollView
- 縦スクロール用の入れ子ビュー。子要素は1つしか持てないため、中にレイアウトを持たせ、その中にリスト要素などを配置していく。
- HorizontalScrollView
- 横スクロール用の入れ子ビュー。基本ScrollViewと一緒。ScrollViewを中に持たせて縦横両方のスクロールを可能にすることもできる。
Androidでフリック可能な画面を作る場合はこれを拡張する。
スタイル
アニメーション
描画(コーディング)
View
- ListView/Gallary/GridViewなど
- 各インデックスの描画要素を定義したAdapterを生成し、それをセットする形で描画する。
簡単な描画
- View
高速描画
- SurfaceView
- ドラッグできる画像
3D(OpenGL)
- GLSurfaceView
設計
- AndroidでMVC
Modelが行うべき表示更新指示や、Viewが行うべきデータ更新指示は、ほとんどAdapterが受け持つことになるため、基本的に入力を捌く部分と画面遷移の部分に注力して設計を行うことになる。画面遷移はIntentを持つ必要があるため、View側で行うことで、ControllerにAndroidの独自の実装を絡ませることなく、Activityから分離できる。パラメータの受渡しはハッシュで行う場合、利用可能な型が限定されているBundle型が存在する(Activity間でのデータの受渡しで利用されている)。
Copyright(C) by 芝浦工業大学 工学部通信工学科, 森野研究室. All Rights Reserved.