美文网首页
Lifecycle+liveData+DataBinding三部

Lifecycle+liveData+DataBinding三部

作者: 我默默 | 来源:发表于2020-10-22 14:20 被阅读0次

对Lifecycle liveData的理解:
System已经做了:Fragment/Actvity已经实现了LifecycleOwner 的接口:
Userdo:1-->viewMode(或者IPresenter )implements LifecycleObserver
2-->只需在Fragment/Activity中调用:getLifecycle().addObserver(viewModel);
3-->viewModel.dataList.observe(owner, Observer);
1--2---原理:
Fragment/Activity的构造方法中已经调用了下列方法:


fragmet.png

getLifecycle()返回的对象mLifecycleRegistry,在LifecycleOwner( Activity/Fragment)的生命周期方法中都做了监听,这就方便了我们Observer(viewMode或者Presenter)对LifecycleOwner生命周期的感知
--3--LiveData原理:
viewModel.dataList.observe(owner, Observer)------> LifecycleBoundObserver wrapper = new LifecycleBoundObserver(owner, observer);它实现了GenericLifecycleObserver,而GenericLifecycleObserver继承了LifecycleObserver接口。当组件(Fragment/Activity)生命周期变化时会通过onStateChanged()方法回调过来。Observer接口就是观察者,其中定义了LiveData数据变化的回调方法onChanged()。
因此我们就可以使用三部曲搞定 data对ui的生命周期的监控

Databinding就更简单了,直接跟着撸码就ok了,Fragment、Activity通过DataBindingUtil.inflate()就可以联系起来,而且可以双向绑定哦。
Lifecycle+liveData+DataBinding才是最爽的编码方式。

具体原理:[https://blog.csdn.net/zhuzp_blog/article/details/78871527]

相关文章

  • Lifecycle+liveData+DataBinding三部

    对Lifecycle liveData的理解:System已经做了:Fragment/Actvity已经实现了Li...

  • 三部曲系列

    未来三部曲,家庭三部曲,武士三部曲,魔戒三部曲,爱在三部曲。 +时空三部曲,血与冰淇淋三部曲,教父三部曲,往事三部...

  • 从进化心理学看豆豆三部曲中那些离奇的爱情

    豆豆三部曲感悟之二:谈谈豆豆三部曲中的爱情 01 豆豆三部曲中那些不靠谱的爱情 纵观豆豆三部《背叛》、《遥远的救世...

  • 黑暗的左手

    《黑暗的左手》三部曲.azw3: 《黑暗的左手》三部曲.epub: 《黑暗的左手》三部曲.mobi: 内容简介··...

  • 你不为了交代,结什么婚

    最近,看了李安的三部早期电影作品:《推手》,《喜宴》和《饮食男女》。这三部被称作李安的“父子三部曲”。很巧,最近一...

  • 练八部金刚第二十一天

    练到第三部,娃哭,坚持练完第三部收功哄娃。

  • 爱情三部曲

    不是巴金的《雾》、《雨》、《电》,不是夏目漱石的《爱情三部曲》,不是叶念琛的爱情三部曲,而是神作爱情三部曲:《爱在...

  • 两个话痨的爱情与婚姻

    《爱在黎明破晓前》、《爱在日落黄昏前》、《爱在午夜降临前》这三部电影,人称“爱在三部曲”,我喜欢叫它们“话痨三部曲...

  • 教父

    三部曲

  • 《倚天屠龙记》后记

    《倚天屠龙记》是“射雕”三部曲的第三部。 这三部书的男主角性格完全不同。郭靖诚朴质实,杨过深情狂放,...

网友评论

      本文标题:Lifecycle+liveData+DataBinding三部

      本文链接:https://www.haomeiwen.com/subject/zoyumktx.html