Data Binding的使用详解

简介: PS:该文章只是个人总结记录,留给新手使用data binding的讲解文章,只讲解基本配置和用法,高手绕道!首先,环境搭建:Android 的 Gradle 插件版本不低于 1.5.0-alpha1:classpath 'com.android.tools.build:gradle:1.5.0'然后修改对应模块(Module)的 build.gradle的android节点下添加:dataBinding {enabled = true}注意:build一下,然后你就可以在项目中尽情的使用data binding了。

PS:该文章只是个人总结记录,留给新手使用data binding的讲解文章,只讲解基本配置和用法,高手绕道!

首先,环境搭建:

Android 的 Gradle 插件版本不低于 1.5.0-alpha1:

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

然后修改对应模块(Module)的 build.gradle的android节点下添加:

dataBinding {

enabled = true

}

注意:build一下,然后你就可以在项目中尽情的使用data binding了。

既然你已经开始关注data binding了,那么肯定知道acitvity的布局文件肯定是跟以前不一样的了,没错像下面一样:

data binding布局文件

布局文件已layout开始,然后会有一个data标签,标签中就是各种属性值了。

然后:书写注意:

很多人的activity类喜欢用ActivityXX之类的来命名,然后也有xml文件喜欢用layout_XX_XX等等之类的来命名,这就需要非常注意了,data binding中Activity来可以随便命名,但xml的布局文件应该最好还是用activity_XX(_XX)等之类的来命名,这样data binding框架才会自动生成一个ActivityXXBinding的类供你使用,否则的话您可能会一直敲不会它自动生成的类来,然后会一直怪网上各种文章没说清楚之类的。(PS:如果你的xml文件以layout_XX之类来命名,那么data binding自动生成的类肯定就是LayoutXXBinding了)。

说实话我也是刚开始试着去用下,网上一搜各种文章,然而并没有什么卵用。基本的配置和注意事项都没说清楚,全是一大堆的理论,可能写文章的都是大神吧!以为小白们都知道的。

最后,说下个人见解,android框架这么多肯定有很多人用都用不过来的,而且这个框架个人觉得也不怎么样,写起来好麻烦,都说省去了findViewById的烦恼,但butterknife这样的注解框架就可以达到效果,感觉还方便点,所以也不知道这种框架的作用到底在哪?

可能MVP才是主流趋势。。。

目录
相关文章
|
7月前
Cannot load keys from store: class path resource
Cannot load keys from store: class path resource
398 0
|
7月前
|
前端开发 开发者
TS7031: Binding element ‘role‘ implicitly has an ‘any‘ type.
TS7031: Binding element ‘role‘ implicitly has an ‘any‘ type.
95 1
|
XML Java 数据格式
xml文件报错Element ‘beans‘ cannot have character [children), because the type‘s content type is element-
xml文件报错Element ‘beans‘ cannot have character [children), because the type‘s content type is element-
xml文件报错Element ‘beans‘ cannot have character [children), because the type‘s content type is element-
组件是默认值报错:Props with type Object/Array must use a factory function to return the default value
组件是默认值报错:Props with type Object/Array must use a factory function to return the default value
362 0
组件是默认值报错:Props with type Object/Array must use a factory function to return the default value
|
JavaScript
void mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property b
void mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: vue项目示例,请参考甄佰 单向数据流所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑定:父级 prop 的更新会向下流动到子组件中,但是反过来则不行。
3422 0
|
容器 C#
数据绑定(四)使用DataContext作为Binding的Source
原文:数据绑定(四)使用DataContext作为Binding的Source DataContext属性被定义在FrameworkElement类里,这个类是WPF控件的基类,这意味着所有WPF控件都具备这个属性,...
1100 0
|
XML 数据格式
数据绑定(七)使用ObjectDataProvider对象作为Binding的Source
原文:数据绑定(七)使用ObjectDataProvider对象作为Binding的Source ObjectDataProvider就是把对象作为数据源提供给Binding,类似的还有XmlDataProvider...
815 0
|
Android开发
数据绑定(data binding)
据绑定(Data Binding)-Part2 原文链接 : Data Binding – Part 2 原文作者 : Mark Allison 译文出自 : 开发技术前线 www.devtf.cn。未经允许,不得转载! 译者 : desmond1121 校对者: desmond1121 在之前我们做了一个简单的Twitter客户
1649 0