LoginSignup
2
1

More than 3 years have passed since last update.

【ど素人が作る】Android+Kotlin入門 - Todoリスト作るよ 随時更新

Posted at

Android + Kotlinやってみる

Androidの勢いがあるらしいので触ってみる。
※ 筆者はJavaメインでWeb開発をしているので、Androidについてはど素人です。

Androidエミュレータ・実機でのHelloWorld確認はできていること前提で話を進めます。

環境

Windows10
Intellij IDEA

作るもの

Todoアプリ
画面構成

  • Todo一覧画面
  • Todo作成

完成品

こちら

本記事の構成

  1. Android開発の基本について
  2. 複数画面を使う
  3. 独自オブジェクトの情報を一覧表示する

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の使用
  • ListViewの更新
    • LayoutInflater
      • 指定したxmlのレイアウトリソースを利用できる仕組み。
    • Adapter
      • 何個かテンプレート用意されているけど、ない場合はカスタムアダプター作らないといけない。
  • 画面間データ保持
    • Activityに変数作る

詰まったとこ

  • 独自クラスでのListView表示
  • R
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1