ViewModel + LiveData

ViewModel
1、数据持久化
2、异步回调问题
3、分担 UI controller负担
4、Fragments 间共享数据

1 ViewModel 架构组件ViewModel 架构组件

LiveData
1 它可以做到在组件处于激活状态的时候才会回调相应的方法,从而刷新相应的 UI。
2 不用担心发生内存泄漏
3 当 config 导致 activity 重新创建的时候,不需要手动取处理数据的储存和恢复。它已经帮我们封装好了。
4 当 Actiivty 不是处于激活状态的时候,如果你想 livedata setValue 之后立即回调 obsever 的 onChange 方法,而不是等到 Activity 处于激活状态的时候才回调 obsever 的 onChange 方法,你可以使用 observeForever 方法,但是你必须在 onDestroy 的时候 removeObserver。

1Android LiveData 使用详解(https://blog.csdn.net/gdutxiaoxu/article/details/86660760)
2LiveData使用 继承LiveData类
https://www.jianshu.com/p/c69a7db3299a

DataBinding
@BindingAdapter
//BindingAdapter的使用 自定义属性 和原生 点击按钮更换图片 静态方法
// 通过 name feature绑定ImageView 值改变 触发次方法
// 覆盖Android原生的元素设置属性,比如android:text
@BindingConversion
// dataBinding还支持对数据的转换,或者是类型的转换
//这个时候会将项目中所有以@{String}方式用到的String后缀全部加上
new FirstComponent()
RecyclerView.Adapter

https://www.imooc.com/article/44692
DataBinding入门进阶指南(一)
app:cartoon = "@{cartoon}

https://www.jianshu.com/p/8a37af8bfcba
DataBinding入门进阶指南(二)
https://www.jianshu.com/p/a674c6d785b9

你可能感兴趣的:(Android,#,kotlin,android,android,jetpack)