在Android编程过程中,我们会写大量的布局和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得麻烦类,所以可以采用注解的方式去实现,而ButterKnife则是注解中相对简单易懂的很不错的开源框架,而网上的文档和例子都过时了,7.0之后的版本改动很大,之前的注解都不能用了,所以借鉴官方文档总结了一下,接下来就介绍一下如何使用。基本参照官方文档,加上自己的心得。
最近在写学校的实训项目,因为自己对Android开发有一些了解,于是选择了与Android开发相关的课题,这次实训本着学习的目的打算尝试一些新东西,ButterKnife框架算是其中的第一个。本篇博客结合官方文档、他人博客以及自己的了解总结而得,,错误的地方欢迎指正。
首先,在以往的开发过程中,总是有大量的 findViewByid,项目小的话还可以接受,一点项目规模多大,这样的写法会令人头疼并且代码重复而繁琐。而ButterKnife借助注解的手段解决了这个问题。
我们的项目所使用的是butterknife7.0.1
添加依赖
在使用butterknife之前首先需要添加相应的依赖:
compile'com.jakewharton:butterknife:7.0.1'
将以上语句添加到项目的AndroidMainfest.xml文件中即可。
使用前准备
在需要使用注解的Activitiy中添加以下语句:
ButterKnife.bind(this);
(必须在setContentView()之后添加该语句)
在Fragment中的使用有所不同需要特别注意:
在fragment中使用时需要在onCreateView方法中添加如下语句:
ButterKnife.inject(this, view);
使用方法
//校园组件 @Bind(R.id.post_service_iv_back) private ImageView iv_back;
以上是我的项目中的使用实例,activity和fragment的使用方法相同。
除了可以用来实现组件的绑定以外还可以完成事件的绑定,但是由于个人习惯的原因我个人并不推荐这样的做法,多以这里不做太多的阐述。有想学习的同学可以参考这篇文章:
http://blog.csdn.net/qq_31387043/article/details/51656050
优势
ButterKnife的具体优势:
1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率
2.方便的处理Adapter里的ViewHolder绑定问题
3.运行时不会影响APP效率,使用配置方便
4.代码清晰,可读性强