Android 视图注入--黄油刀是个什么梗
来源:广州中睿信息技术有限公司官网
发布时间:2019/6/21 15:37:08 编辑:admin 阅读 1254
技术追求永无止境,介于牛A和牛C之间的程序猿,就要想一想,能否让代码简洁一些,能否直接对一个变量进行属性设置?

做过Android开发的,多少都写过下面这几行代码:

setContentView(R.layout.activity_main);

TextView TextView = findViewById(R.id.TextView1)

textView.setText(“Hello..”)


这个代码是不是让你觉得很亲切?

当然,这种亲切感,就是由我欲Set,必先Get(这里的Get就是find)的定性思维带来的,而这种定性思维,隐约散发着啰嗦,单调,重复的气息。
技术追求永无止境,介于牛A和牛C之间的程序猿,就要想一想,能否让代码简洁一些,能否直接对一个变量进行属性设置?IT内训
比如像这样:

TextView TextView

textView.setText(“Hello..”)

当然,这样写,你肯定会骂彪哥我,因为这是错误的代码,TextView没有指向任何对象,就直接来set属性,肯定是错误的。但如果用些其他的方式辅助一下呢,比如对象注入的方式呢?是否可行呢?
彪哥在这里很负责任的告诉你,当然可行。这里推荐一个框架,叫ButterKnife,中文名叫黄油刀。Logo是这个

一块桌布,一个盘子,一个Android小机器人形状的黄油,一把刀。这些合起来被大家戏称为黄油刀。Logo的表面意思是说,我们可以通过这把锋利的刀去刮掉牢牢黏在盘子上的黄油,技术层面的隐含意思是为Android 视图(View)提供绑定字段和方法。去替换之前琐碎的初始化,说了这么多,那具体如何使用呢?
先加依赖,依赖的添加有2处。

1.第一处是在Project 的build.gradle中。

2.第二处是在Module的build.gradle中配置一下:

这样依赖环境就配置好了,然后就可以了。
下面是使用方法:

在Activity当中,只需要执行了ButterKnife.bind(this)语句之后,就可以对任何View类型变量(包含所有的View派生类)变量,用@BindView(id)执行视图对象注入。技术分享
当然,这段讲解,只是黄油刀功能的一部分,但窥一斑而知全豹。希望大家可以多多学习,提升自己的Android开发水平。


关于中睿
全面的IT服务提供商—中睿信息是一家专业的IT服务提供商,获得国家“双软”、高新技术企业认证,通过CMMI L3、ISO9001、ISO20000、ISO27001认证,致力于解决企业信息化所遇到的最棘手问题。公司与微软(Microsoft)、甲骨文(Oracle)、思科(Cisco)、Pearson VUE等全球著名IT厂商建立长期的合作伙伴关系,业务涵盖企业IT架构与应用服务、软件研发顾问咨询服务、数据库服务、高级IT技术培训、软件项目研发、解决方案实施和就业培训。
在这里,你能学习到从0到1,系统全面的IT技术知识;
在这里,你能通过理论+实训的形式快速成长;
在这里,你不仅能结识到顶尖的大咖牛人,还能与资深教学团队一起玩转IT业。


更多课程: 

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2