DataBingding的初步了解

一,介绍

谷歌去年就推出databinding框架,由于之前一直用的是butterknief,所以一直没有去学习,最近一直听朋友在群里面说该框架是多么的好用,所以忍不住趁着周日学习了一下。

二,初步配置

databinding的使用非常简单,因为是谷歌推出,所以只需要在在build.gradle中配置


android {

dataBinding {

enabled =true} }


前提是在androidStudio1.5版本以上

三,代码演示

首先列举一个简单的场景,在界面显示姓名和年龄,通过界面中的点击按钮时改变姓名
xml布局




name="user"
type="com.hgsoft.cardutils.activity.UserBean">


android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"






首先可以看出,跟普通布局的差别就是根节点变为,需要在data节点中声明variable属性,就是对应的你自定义的实体类,name为自己定义的别名,type中包名一定要写全,接下来就是在代码中的体现了。

public class DataActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ActivityDataBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_data);
    UserBean userBean=new UserBean("wangbin","24");
    binding.setUser(userBean);

}

}


在oncreate方法里面用DataBindingUtil.setContentView代替setcontentview方法,然后调用binding.setuser(user就是在布局中声明的别名),这样就把值赋给了activity的对应控件。
给按钮添加点击事件

binding.btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

        }
    });

四,优缺点

由于学习时间比较简单,上面介绍只是很简单的使用,但是可以很直观的看出该框架比较简洁,减少了findviewbyid的代码,当然他肯定还有很多强大的地方,需要后面来深入学习,自我感觉针对一些简单的布局使用起来还是很方便,可是复杂的布局可能就有点吃力了,并且androidstudio支持并不是太好,以后空闲时间再深入学习一下,以便对该框架有一个全面的认识。

你可能感兴趣的:(DataBingding的初步了解)