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才是主流趋势。。。

目录
相关文章
|
机器学习/深度学习 算法 Python
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
901 0
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
|
Java Apache
Apache PDFbox快速开发指南
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/9026439 Apache PDFbox快速开发指南 作者:chszs,转载需注明。
3201 0
|
10月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【卷积层】| ICCV-2023 LSK大核选择模块 包含ResNetLayer二次独家创新
RT-DETR改进策略【卷积层】| ICCV-2023 LSK大核选择模块 包含ResNetLayer二次独家创新
232 13
RT-DETR改进策略【卷积层】| ICCV-2023 LSK大核选择模块 包含ResNetLayer二次独家创新
|
Web App开发 存储 安全
Python编写脚本,打开浏览器输入网址,自动化登陆网站
Python编写脚本,打开浏览器输入网址,自动化登陆网站
1307 5
|
存储 文件存储 数据安全/隐私保护
Docker环境下Minio文件存储的安装与配置
Docker环境下Minio文件存储的安装与配置
826 4
|
JavaScript 前端开发 索引
|
数据采集 Java 数据处理
Java流与链表:探索java.util.stream与LinkedList的交汇点
本文探讨了Java中流(Streams)与链表(LinkedList)的结合使用,展示了如何通过流处理LinkedList以实现高效数据操作。示例代码包括LinkedList的基本操作、使用Stream进行过滤和映射,以及结合HttpClient和代理IP实现网络爬虫。代理IP有助于绕过反爬机制,提高爬取效率。通过结合这些技术,开发者能编写出更简洁、高效的代码。
246 2
Java流与链表:探索java.util.stream与LinkedList的交汇点
理解dtsi中的&
理解dtsi中的&
352 0
|
存储 算法 数据可视化
RNAseq|免疫浸润也杀疯了,cibersoert?xCELL?ESTIMATE?你常用哪一个
RNAseq|免疫浸润也杀疯了,cibersoert?xCELL?ESTIMATE?你常用哪一个
1256 0
|
缓存 网络安全 开发工具
极简并优雅的在IDEA使用Git远程拉取项目和本地推送项目
极简并优雅的在IDEA使用Git远程拉取项目和本地推送项目
4960 0