Android + Kotlinやってみる
Androidの勢いがあるらしいので触ってみる。
※ 筆者はJavaメインでWeb開発をしているので、Androidについてはど素人です。
Androidエミュレータ・実機でのHelloWorld確認はできていること前提で話を進めます。
環境
Windows10
Intellij IDEA
作るもの
Todoアプリ
画面構成
- Todo一覧画面
- Todo作成
完成品
本記事の構成
- Android開発の基本について
- 複数画面を使う
- 独自オブジェクトの情報を一覧表示する
1. Androidの基本について
Android開発の基本は2つ!
- 画面のレイアウトを作る
- 画面に関する処理を作る
1.1. 画面のレイアウトを作る
やることは以下の3つ
- 「res/layout/activity_xxxxxx.xml」みたいなxmlファイルを作成する。
- 使う部品にidを付与しておく
- アクティビティとxmlsファイルとの結び付けを行う(※1)
※1の補足
↓ xmlファイルの書き出しの部分
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="employed.self.freitech.appfitness.TaskListActivity">
書き出し部分の以下の箇所が、この画面は○○Activityクラスと結びついていますよーって書いてあります。
xmlns:tools="http://schemas.android.com/tools"
tools:context="employed.self.freitech.appfitness.TaskListActivity"
1.2. 画面に関する処理を作る
やることは以下の2つ。
- 1.1.で部品に付与したidを使って部品を指定
- 指定した部品に必要なイベント処理を追加する。
2. 複数画面を使う
複数画面を使う場合にやることは以下の3つ
- 画面ファイルを追加
- intentを取得してstartActivityに渡す(Intentを使う場合の話)
- 画面間でデータを共有する場合(※2)
※2 補足
遷移先へパラメータ等を渡す場合は、intentにputExtraで文字列、文字配列あたりまでは渡せそう。
3. Todoの一覧を表示する
やったことは以下。
なお単純に単一の文字列を表示するだけの場合はデフォルトで準備されているらしいのでそれでできる。
その他
調べたこと
- 画面とコードの結び付け
- レイアウトについて
- 各レイアウトの特徴と、部品の配列方法。
- 画面遷移
- Activityの登録
- 新しい画面を登録したらAndroidManifest.xmlに登録する
- 画面遷移時にデータ受け渡し
- putExtraの使用
- Activityの登録
- ListViewの更新
- LayoutInflater
- 指定したxmlのレイアウトリソースを利用できる仕組み。
- Adapter
- 何個かテンプレート用意されているけど、ない場合はカスタムアダプター作らないといけない。
- LayoutInflater
- 画面間データ保持
- Activityに変数作る
詰まったとこ
- 独自クラスでのListView表示
- R