美文网首页
Databinding-samples(一)

Databinding-samples(一)

作者: 烧伤的火柴 | 来源:发表于2020-04-28 14:31 被阅读0次

Databinding介绍

Databinding是Google发布的一个框架,是实现MVVM的一种方式,目的是降低ui视图和业务逻辑之间的耦合性,使代码逻辑更加清晰。Databinding能帮我们省去重复的findViewById() 步骤,数据能够单行和双向绑定到layout中,有助于防止内存泄漏,而且能够自动检测空异常和类型转换异常。

关于Databinding的使用教程,网上有很多文章介绍,但是不管别人介绍的怎么怎么样,都是别人脑子里的知识,大家最好是自己写一些例子,巩固一下知识点。

databinding-samples介绍

其中google给我出一个很好的例子:databinding-samples,大家可以通过这个例子学一下各个知识点如何使用,以及如何整合使用。

这个例子主要介绍一些内容:
1.布局文件中使用 变量和表达式;学习Databinding的基础用法
2.使用可观察对象:Observable Fields, LiveData and Observable classes;当其中一个可观察数据对象绑定到界面的时候, 该数据对象的属性发生更改时,界面会自动更新。
3.Binding Adapters, Binding Methods and Binding Converters
4.无缝接入ViewModels

该例子使用了两个页面实现用户的简介,app主要介绍了Data Binding的不同特点:
1.MainActivity 展示了Data Binding的基础用法
2.Observable field activity:在这个页面,用户可以点击like按钮增加对profile的喜欢次数,而且ui会自动更新变化。但是Activity中可以接收用户的点击事件和修改profile实例的数据,这样会增加Activity的任务,Activity除了处理生命周期的事情,还持有业务逻辑层的任务,使得代码的耦合性比较强,而且不易测试。

另外该页面旋转的时候likes属性值会重置。
这种编码方式是我们以前开发经常写的,但是这种方式存在耦合性强,不易测试等等缺点
3.ViewModel activity:使用ViewModel方式修改旋转屏幕的问题,而且把业务逻辑从Activity移出去了。
另外使用BindingAdapter修改了Activity的责任,使得Activity不在是view,而是仅仅处理生命周期的事情。

后续

后续会分别学习sample的每个类的责任和实现方式。

相关文章

  • Databinding-samples(一)

    Databinding介绍 Databinding是Google发布的一个框架,是实现MVVM的一种方式,目的是降...

  • Databinding-samples(三)-Observabl

    介绍 本篇文章介绍ObservableFieldActivity中的知识点 observable_field_pr...

  • Databinding-samples(四)-ViewModel

    介绍 这篇文章介绍接入viewModel的使得app更加解耦,实现方式有两种:ViewModel+Observab...

  • Databinding-samples(二)-初始Databin

    介绍 本篇app的配置和MainActivity。 配置 由于是Kotlin工程,所以要引入kotlin-kapt...

  • 。一一,一,一,一。

    一,、

  • 一 一

    2018年6月22日 星期五 雨 一水一万物 一星一宇宙 一字一文章 一书一世界 一读一微笑 一赞一知音

  • 一 一

    杨德昌《一 一》,早年曾看过一遍。 婷婷短发,白净,蓝色衬衫,学生裙,黑皮鞋,白袜子,学习很好的中学女生。温柔,懂...

  • 一 一

    给自己无处安放的灵魂找到了家!简书,我的新写作时光!继续,在流年里拾荒,禅落一身的光!

  • 一.一

  • 一.一

    一节车厢,一只行囊,肯为当时一念疯狂。 一根点燃,一缕惆怅,不许未来一片迷茫。 一眼远看,一众不详,哪知各位一去何...

网友评论

      本文标题:Databinding-samples(一)

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