文章目录
  1. 1. Android实现数据DataBinding步骤
    1. 1.1. 一. 配置全局
    2. 1.2. 二. 创建需要Binding的实体
    3. 1.3. 三. 创建布局文件
    4. 1.4. 四. 实现数据绑定

Data Binding 解决了 Android UI 编程中的一个痛点,官方原生支持 MVVM 模型可以让我们在不改变既有代码框架的前提下,非常容易地使用这些新特性。Google 2015 IO大会中对于Android开发曾了Data Binding。

Android实现数据DataBinding步骤

一. 配置全局

创建一个空的Project,并修改Project的build.gradle,为build script添加一条依赖,Gradle版本最低为1.5.0。

1
classpath 'com.android.tools.build:gradle:1.5.0'

为用到Data Binding的模块添加插件,修改对应的build.gradle。

1
2
3
dataBinding {
enabled = true
}

二. 创建需要Binding的实体

创建用户的实体User :

1
2
3
4
5
6
7
8
9
10
public class User {

public final String name;
public final String age;

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

三. 创建布局文件

Activity的布局文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="user"
type="com.ihongqiqu.databinding.data.User" />
</data>

<LinearLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.ihongqiqu.databinding.DataBindingSampleActivity1">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="@{user.name}"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="27dp"
android:text="@{user.age}"
android:textAppearance="?android:attr/textAppearanceMedium" />

</LinearLayout>
</layout>

四. 实现数据绑定

Actvity的onCreate()方法实现数据绑定。

第一种方式:

1
2
3
4
5
6
User user = new User("jingle1267", "20");

// 第一种初始化方式
ActivityDataBindingSample1Binding binding = DataBindingUtil.setContentView(this,
R.layout.activity_data_binding_sample1);
binding.setUser(user);

⚠️ 注意: 上面代码是ActivityDataBindingSample1Binding, 而不是我们的Activity: DataBindingSample1BindingActivity

第二种方式:

1
2
3
4
5
6
User user = new User("jingle1267", "20");

// 第二种初始化方式
ViewDataBinding binding1 = DataBindingUtil.setContentView(this,
R.layout.activity_data_binding_sample1);
binding1.setVariable(BR.user, user);

实现上述步骤之后,编译运行,就可以看到用户名和年龄显示到对应的控件。

源码地址https://github.com/jingle1267/DataDindingSample

参考网址: 官方介绍Data Binding Guide


本文地址 http://94275.cn/2016/03/13/Android-DataBinding-Part-One/ 作者为 Zhenguo

author:Zhenguo
Author: Zhenguo      Blog: 94275.cn/     Email: jinzhenguo1990@gmail.com
I have almost 10 years of application development experience and have a keen interested in the latest emerging technologies. I use my spare time to turn my experience, ideas and love for IT tech into informative articles, tutorials and more in hope to help others and learn more.
文章目录
  1. 1. Android实现数据DataBinding步骤
    1. 1.1. 一. 配置全局
    2. 1.2. 二. 创建需要Binding的实体
    3. 1.3. 三. 创建布局文件
    4. 1.4. 四. 实现数据绑定
返回顶部