DataBinding 使用总结
DataBinding
- 简介
- DataBinding 是谷歌发布的框架数据绑定框架
- 是MVVM在android上的实现.用于降低布局和逻辑的耦合性,使代码看起来更简介
- DataBinding 能省去FindViewById() ,减少Activity内的代码
- 能够单向或则双向绑定到layout
- 有助于防止内存泄漏
- 能自动进行空值检测避免空指针异常
- 使用步骤
- 在对应model的build.gradle里加入如下代码
- 在对应model的build.gradle里加入如下代码
- 数据绑定方式
- BaseObservalbe
- 使用场景:数据的双向绑定 ,
- 使用方式:需要数据双向绑定的类继承这个类就能实现
- 提供的方法
- notifyChange()
- 会刷新所有的值域
- nfitfyPropertyChanged()
- 只更新对应 BR 的 flag,该 BR 的生成通过注释 @Bindable 生成,可以通过 BR notify 特定属性关联的视图
- addOnPropertyChangedCallback
- 监听属性改变的方法
- notifyChange()
- ObservableField
- 使用场景 :数据的双向绑定
- 使用方式:对需要进行数据双向绑定的类的属性进行设置
- 原生封装了对基本类型的绑定方式
- ObservableBoolean、
- ObservableByte、
- ObservableChar、
- ObservableShort、
- ObservableInt、
- ObservableLong、
- ObservableFloat、
- ObservableDouble
- ObservableParcelable
- ObservableCollection
- 使用场景 list,map 等集合类的数据绑定
- 使用方式:
- 1,布局引入
- 2,代码进行数据的初始化和绑定
- 1,布局引入
- BaseObservalbe
- 单向数据绑定
- 双向数据绑定
- 事件绑定
- android:onClick
- android:onLongClick
- android:afterTextChanged
- android:onTextChanged
- 使用类的方法
- 运算符
- 算术 + - / * %
- 字符串合并 +
- 逻辑 && ||
- 二元 & | ^
- 一元 + - ! ~
- 移位 >> >>> <<
- 比较 == > < >= <=
- Instanceof
- Grouping ()
- character, String, numeric, null
- Cast
- 方法调用
- Field 访问
- Array 访问 []
- 三元 ?:
- BindingAdapter
- dataBinding 提供了 BindingAdapter 这个注解用于支持自定义属性,或者是修改原有属性。
- dataBinding 提供了 BindingAdapter 这个注解用于支持自定义属性,或者是修改原有属性。
- BindingConversion
- dataBinding 还支持对数据进行转换,或者进行类型转换
- dataBinding 还支持对数据进行转换,或者进行类型转换
- 参考