Android 视图注入——黄油刀是个什么梗

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

setContentView(R.layout.activity_main);
TextView TextView = findViewById(R.id.TextView1)
textView.setText(“Hello…”)

这个代码是不是让你觉得很亲切?中睿信息带你体验下这种感觉。
当然,这种亲切感,就是由我欲Set,必先Get(这里的Get就是find)的定性思维带来的,而这种定性思维,隐约散发着啰嗦,单调,重复的气息。

技术追求永无止境,介于牛A和牛C之间的程序猿,就要想一想,能否让代码简洁一些,能否直接对一个变量进行属性设置?

比如像这样:

TextView TextView
textView.setText(“Hello…”)

当然,这样写,你肯定会骂彪哥我,因为这是错误的代码,TextView没有指向任何对象,就直接来set属性,肯定是错误的。但如果用些其他的方式辅助一下呢,比如对象注入的方式呢?是否可行呢?
彪哥在这里很负责任的告诉你,当然可行。这里推荐一个框架,叫ButterKnife,中文名叫黄油刀。Logo是这个:
在这里插入图片描述
一块桌布,一个盘子,一个Android小机器人形状的黄油,一把刀。这些合起来被大家戏称为黄油刀。Logo的表面意思是说,我们可以通过这把锋利的刀去刮掉牢牢黏在盘子上的黄油,技术层面的隐含意思是为Android 视图(View)提供绑定字段和方法。去替换之前琐碎的初始化~

说了这么多,那具体如何使用呢?

先加依赖,依赖的添加有2处。

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

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

这样依赖环境就配置好了,然后就可以了。

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

更多技术内容可以扫描以下二维码探讨
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/itlead_zr/article/details/88886029