コンテンツにスキップ

カウントアプリの動きを作ろう

画面の見た目が変わるためには状態管理というものを使っています。かなり難しい概念なのでゆっくり理解をしていきましょう。

以下のコードを追加していきましょう。この部分で、値を変更して、表示することができます。

カウントする部分を追加する
@Composable
fun CountAppScreen(modifier: Modifier = Modifier) {
var count by remember { mutableIntStateOf(0) }
Column(
modifier = modifier
) {
Text(
text = "カウント: $count",
textAlign = TextAlign.Center
)
Button(
onClick = {
count++
}
) {
Text(
text = "+",
)
}
}
}

Compose では Button の onClickclickable Modifier を使用してイベントを登録します。

Button(
onClick = {
Log.d("Buttonのテスト", "クリックした時に実行されたよ!")
},
) {
Text(text = "押してみて")
}
宣言的UIの思想

Jetpack Compose は宣言的 UI という考え方を採用しています。

  1. State(状態): テキストフィールドに “こんにちは” が入っている
  2. State を UI に反映: UI が “こんにちは” と表示する
  3. State を更新: ユーザーの操作などで State が変わる
  4. UI が自動更新: State の変更に応じて UI が自動的に更新される

この流れを繰り返すことで、アプリの状態と画面表示が常に同期されます。

Stateの定義と更新
var searchText by remember { mutableStateOf("") }
searchText = newSearchText
実際に動かしてみる

Android Studio の上部にある「Run ‘app’」ボタンをクリックしてみましょう。

これで、エミュレータが立ち上がり、自動でコードをビルドされます。

カウントされるようになりましたか?ボタンを押すたびに数字が増えれば成功です。

カウントアプリ完成

カウントアプリがこれで完成しました!

おめでとうございます…といきたいところですが、ちょっと見た目が寂しいですね。少し見た目を改善してみましょう。

最後まで読み終えました! えらい!