カウントアプリの動きを作ろう
画面の見た目が変わるためには状態管理というものを使っています。かなり難しい概念なのでゆっくり理解をしていきましょう。
カウントする部分を追加する
Section titled “カウントする部分を追加する”以下のコードを追加していきましょう。この部分で、値を変更して、表示することができます。
@Composablefun 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 でのイベントとは?
Section titled “Compose でのイベントとは?”Compose では Button の onClick や clickable Modifier を使用してイベントを登録します。
Button( onClick = { Log.d("Buttonのテスト", "クリックした時に実行されたよ!") },) { Text(text = "押してみて")}宣言的 UI の思想
Section titled “宣言的 UI の思想”
Jetpack Compose は宣言的 UI という考え方を採用しています。
- State(状態): テキストフィールドに “こんにちは” が入っている
- State を UI に反映: UI が “こんにちは” と表示する
- State を更新: ユーザーの操作などで State が変わる
- UI が自動更新: State の変更に応じて UI が自動的に更新される
この流れを繰り返すことで、アプリの状態と画面表示が常に同期されます。
State の定義と更新
Section titled “State の定義と更新”
State の定義
Section titled “State の定義”var searchText by remember { mutableStateOf("") }State の更新
Section titled “State の更新”searchText = newSearchText実際に動かしてみる
Section titled “実際に動かしてみる”
Android Studio の上部にある「Run ‘app’」ボタンをクリックしてみましょう。
これで、エミュレータが立ち上がり、自動でコードをビルドされます。
カウントされるようになりましたか?ボタンを押すたびに数字が増えれば成功です。
カウントアプリ完成!
Section titled “カウントアプリ完成!”
カウントアプリがこれで完成しました!
おめでとうございます…といきたいところですが、ちょっと見た目が寂しいですね。少し見た目を改善してみましょう。
最後まで読み終えました! えらい!