DataBinding使用教程(一)

Data Binding 解决了 Android UI 编程的一个痛点,官方原生支持 MVVM 模型可以让我们在不改变既有代码框架的前提下,非常容易地使用这些新特性。Data Binding 的最大的好处就是Android开发者可以像前端开发那样直接在View中绑定数据,避免了代码的重复和繁琐。言归正传,下面带领大家使用Data Binding。

准备

新建一个Project,保证Android 的 Gradle 插件版本不低于 1.5.0-alpha1

classpath 'com.android.tools.build:gradle:3.0.1' 

然后修改对应模块的build.gradle

 dataBinding{
        enabled = true
    } 

修改好的build.gradle如下图所示:

dataBindingEnabled.png

布局文件

使用 Data Binding 之后,xml 的布局文件就不再用于单纯地展示 UI 元素,还需要定义 UI 元素用到的变量。所以,它的根节点不再是一个 ViewGroup,而是变成了 layout,并且新增了一个节点 data。


    
    
    
    ....
    

数据对象

定义一个Bean

public class UserBean {

    private String name;
    private int age;

    public UserBean(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

定义 Variable

我们将在xml中去绑定刚刚定义的Bean

    
        
        
    

定义的TextView中text=@{UserBean.name}

      

这样就将UserBean中的name和TextView绑定起来。

Activity中实现

        ActivityMainBinding mainBinding = DataBindingUtil.setContentView(this,R.layout.activity_main);
        UserBean userBean = new UserBean("zhangl",24);
        mainBinding.setUserBean(userBean);
数据绑定显示.png

可以看到,已经将数据显示显示在activity中。

文末附上github地址:https://github.com/zhanglu1994/DataBinding

你可能感兴趣的:(DataBinding使用教程(一))