ひよっこゲームブログ

なにもかも初心者のひよっこがゆったりと何かする

Android開発をやり直す

Android開発浦島太郎の自分用メモ


savedInstanceStateって何だよ

EmptyActivityを作ったら出てきた。こいつは何だ(ここ浦島)

公式ドキュメントガイド
developer.android.com

Activityが破棄されたときの対応策の一つらしい
ドキュメントを読み進めていると便利なことが書いてあった
「ViewModel を使用している場合は、SavedStateHandle を使用して状態を直接 ViewModel 内に保存できます」
まーじか
onSaveInstanceState(Bundle)で値を保存するように設定して
onCreate(Bundle)で値を取得しなおせる
なーるほどね

activity_main.xmlが無いじゃん

もう簡単なのはJetpackComposeで何とかなるらしい(ここ浦島)
調べてみる
developer.android.com

Composable関数とは(@Composable)
findViewById()とかsetText()とかややこしくなってたのでJetPackComposeで生まれた
昔よりもデータの定義を楽にしてくれる
確かUIとロジックのコード行ったり来たりするの面倒だったしな

@Composeのアノテーションが付いている関数はデータをUIに変換するためのもの
要はUIの出力の責務がある関数になる

xmlで記載していないので、データをかなり動的にできる」
この辺は上手く制御してかないと負債が溜まりそう

他のメリットは何か?

  • コンポーズ可能な関数は任意の順序で実行できる
  • コンポーズ可能な関数は並行して実行できる

再コンポーズとは?
これだけパッと見ても分からない。読み込んでみる
つまるとこ
値が変化したときに、値の状態を画面に反映させるためComposeを再構築すること
UI全体を再Composeするとコストがかかるので、必要なものだけ実施する
パラメータを変更しない関数は処理をスキップする developer.android.com

久々に本読むだけじゃなくてガツガツ手を動かしているんだけど楽しいな