美文网首页
DataBingding的初步了解

DataBingding的初步了解

作者: 雨毅 | 来源:发表于2016-09-26 16:48 被阅读0次

一,介绍

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

二,初步配置

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

dataBinding {

enabled =true} }
</pre>
前提是在androidStudio1.5版本以上

三,代码演示

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

<pre>

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="user"
type="com.hgsoft.cardutils.activity.UserBean"></variable>

</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"

<TextView
    android:id="@+id/name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@{user.name}"
    />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@{user.age}"/>
<Button
    android:id="@+id/btn"
    android:text="点击"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

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

}

}
</pre>
在oncreate方法里面用DataBindingUtil.setContentView代替setcontentview方法,然后调用binding.setuser(user就是在布局中声明的别名),这样就把值赋给了activity的对应控件。
给按钮添加点击事件
<pre>
binding.btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

        }
    });

</pre>

四,优缺点

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

相关文章

  • DataBingding的初步了解

    一,介绍 谷歌去年就推出databinding框架,由于之前一直用的是butterknief,所以一直没有去学习,...

  • 初步了解

    什么是css语法?CSS (Cascading Style Sheets) 层叠样式表,用来编辑 HTML中元素...

  • Git的初步了解

    Git的初步了解 Git的定义Git版本控制系统功能版本控制主动提交中央仓库分类 使用Git的原因 Github和...

  • HTML的初步了解

    W3C 简介 万维网联盟(World Wide Web Consortium,W3C),又称W3C理事会,是万维网...

  • GCDAsyncSocket的初步了解

    对GCDAsyncSocket的初步了解 这个第三方是对Socket编程的封装,运用于iOS及OS系统的网络编程。...

  • ipython的初步了解

    什么是ipython? ipython是一个python的交互式shell,比默认的python shell好用得...

  • LLVM 初步了解

    什么是LLVM 官网:https://llvm.org/ LLVM项目是模块化、可重用的编译器以及工具链技术的集合...

  • 初步了解阿德勒

    这周在读的书都可以算作心理类的。其中《幸福的勇气》《自卑与超越》和前段时间看的《被讨厌的勇气》都是阿德勒心理学理论...

  • css初步了解

    层叠样式表 (Cascading Style Sheets) css可以用来为网页创建样式表,通过样式表可以对网页...

  • Hbase初步了解

    特点:单表可以有百亿行,百万列,数据矩阵横向和纵向两个维度所支持的数据量级都非常有弹性面向列的存储和权限控制(可以...

网友评论

      本文标题:DataBingding的初步了解

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