Open mkurom opened 2 years ago
LiveDataにアクセスするためにはvalueプロパティが必要
●viewbinding 一方向バインディング(View -> ViewModel) ビューをコードにバインディングして、コードからビューを操作することができるが、その逆はできない。 (ViewModelからViewを操作できる)
※公式の日本語と英語に違いがあるので注意
build.gradle
日本語 viewBinding { enabled = true }
英語 buildFeatures { viewBinding = true }
●databinding
build.gradleを変更
buildFeatures {
dataBinding = true
}
xmlの書き方がviewvindingと異なる
xmlにバインディング式を追加することにより、Activity や Fragmentで書いたオブザーバーは不要になる
view(xml)-> Activity or Fragment -> viewmodel -> model
が
view(xml) -> viewmodel -> model
になる
※->は参照方向
C#でいうところのオブザーバーパターンのオブザーバブル
Androidのライフサイクルに対応 →アプリが起動(STARTED、RESUMED)しているときに更新が可能
LifecycleOwner