00:00
好,今天呢,大海哥带大家学习一下这个buttonnife啊,这个注解框架,这框架呢是这个啊,非常非常好用的啊,现在这个市面上用的人特别特别多啊,首先介绍一下这个butni夫是在注解中啊,相对简单易懂的,很不错的一个开学框架啊,然后呢,它有哪些优点呢?啊,第一个强大的VI绑定和click click事件处理功能啊,简化代码,提升开发效率啊,不需要你写一些find view ID和UN click click这个事件啊,非常非常简单。然后第二个呢,就是方便处理adapt里的啊,绑定问题就是adapt。啊,这个view里面的这个查找view对象啊,也可以通过这个注解方式来获取啊,不需要你自己再find view ID了。这里面运行时啊,不会影响APP的效率,使用配置方便啊,使用起来是非常方便的,代码简洁,可读性强啊,一会儿大家就会看到代码非常非常少啊,好,那么这个开源框架在哪能下载到呢?在这个get up上。
01:07
赞一下。这个呢,就是这个button啊,这个get up上这个地址啊,它一直在更新啊,当前最新的版本是这个8.4.0,应该是这个点点啊最新版本。啊,这个呢,我们已经下载好了啊,这里我就不再下载了,就是这个接下来啊,如何使用这个button啊。需要这么两步配置,第一步需要添加一个插件啊,在这个setting啊插件里面输入这个button就可以了,我们来试一下。找到这个。啊settings,然后呢,这左侧有一个啊plugins插件。在这个插件里面输入button。啊,如果呢,你这个没有提示啊,这个这个地方啊,那说明你这个以前没有安装过啊,那么这中间会给你提示一个pressure,就是浏览浏览器的意思,一点击这个浏览呢,就能发现它啊这里呢,我已经安装完了啊,我就不再卸载了啊,这是第一步安装这个插件。
02:23
好看一下第二步就是在这个model,也就是你这个项目中啊,在这个build里面添加这么一个啊版本号,我这里呢,是用的这个7.0.1啊,7.0.1,因为那个8.4.0啊,需要这个SDK是24的,呃,我这个目前SDK还没有下那个啊,目前是23,所以呢,我用这个7.0.1啊,但是呢,基本方法是一样的。接下来看一下这个buttonni它有哪些功能啊,看一下它有这么几大功能啊,1234啊,这是比较核心的啊,其实它有好多的啊,一些不常用的我就没有列出来。
03:05
我这里呢,主要是针对这个7.0.1的版本。首先它可以这个省略find view by ID啊find by ID在这个activity中啊,是怎么使用它呢?以前呢,我们是不是用这个find view by ID去获取一个啊view对象啊,啊view对象,那么现在呢,就非常简单了,只要在这个text view上面添加一个注解啊艾at。Inject view啊,加上这个ID。啊就可以了,同时呢,一定要在这个布局文件之后调用它啊,也就是让你这个on activity create啊,添加完布局set convert view之后,添加一个button knife inject,一会呢,我们有例子啊,可以带着大家看一看就OK了啊大家要注意的事情的是这样的啊,Will变量声明的时候啊,不能为private或者static,也就是说这里面你这个变量不能是private,也不能是static啊,这个地方大家注意一下。
04:08
啊,那怎么在这个fra中使用呢?也非常简单,你在这个fra中啊,添加布的时候,这种方式添加布局吧,啊添加布局,添加完这个布局这个view之后。将它绑定到这个button中啊,也是这么一句话,在activity中是这么一句话,在fragment中增加了这么一个view对象啊,仅仅此而已啊,就这点区别,那之后呢,剩下的你就是啊,同样的是找到它的ID啊,在这空间上面加一个inject view就OK了,就可以使用这个空间。啊,那你怎么在这个will adapt中的willhood中使用呢?啊,也非常简单,你在创建这个willhood的时候,首先你先将这个view跟这个button先绑定起来啊,这个view,这个view呢,是这个当前这个适配器的啊view啊,这个一定要注意是当前适配器的view啊然后呢,这样呢,你就可以在这个空间上面加上一个injt view啊,就能初始化这个空间了啊初化空间这是可以省略find v ID再往下它同时还可以省省略你的set on click click listener,也就是你的点击事件啊,正常我们写这个点击事件呢,是不是拿到这个对象之后,Set on click listener。
05:31
啊,然后去实现我们的方法啊,那现在呢,你用这个之后,就直接在你你执行这个方法上面啊,加一个on click。啊,后面呢,是你这个button的ID就可以了,Button的ID。啊好,这个名称啊,你可以去随便取啊,这个名称可以随便取,同时呢,这个这个里面这个view啊啊,你也可以省略啊,可以省略啊再往下呢,一定别忘了这个啊button.inject啊,也就是将这个布局和它的绑和这个要绑定起来。
06:09
啊,这个也是要注意啊,这个空间呢,还是不能和sta啊,这是。呃,再往下这是set on click listener,有这个可以省略,那么还有哪些点击时间可以省略呢?比如说这个on item click啊,还有这个check box on checked change listener啊,Change的都可以去省略啊,跟上面这个方法啊是一样的,好,那第四个可以一次指定多个ID为多个view绑定的一个事件处理方法,啥意思呢?比如说你有三个button啊,点击BUTTON1 button2 button3啊,都要执行同样的操作,那么就可以直接一个on click中间这个地方注意一下啊,这是大括号啊,中间是大括号。
07:00
啊,一直到这大括中间是靠这个分号去间隔开的啊分号然后呢,下面呢,就是你具体要处理的这个业务逻辑了啊,定义一个方法,这个方法名字呢,可以任意学习啊,任意学取,这个是非常强大的啊功能好,这是我们对这个介绍,接下来呢,我们要做一个例子啊,要简单的使用一下这个大夫啊。
我来说两句