ButterKnife 最新版本8.4.0详细使用

相关链接:ButterKnife的github地址


ButterKnife简介:

1)这是一个注解框架,何为注解:

定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

看不懂?没关系,讲下他的作用你就明白了。

平时编程时,写到大量的findViewById()setOnClickListener(),而当你用到了ButterKnife

时,你就直接通过右键->Generate,就可以自动创建出来,从而可以节省时间,精简代码。

2)当前注解框架有很多,比如:AndroidAnnotations, XUtils, ButterKnife,

为啥选ButterKnife,这里我要引入别人的一张图片

这里写图片描述

上面的难易,强弱,快慢都是相对他们三个自己来说的,比如AndroidAnnotations的接入评级是难,并不代表它的接入方式很难,只是相对ButterKnife和XUtils来说比他们难。如果只想使用UI绑定,资源绑定,事件绑定的功能,推荐使用ButterKnife。

ButterKnife的详细使用(使用 Gradle 远程依赖):

1.导入依赖项:File->Project Structure->Dependencies->Library dependency

或者鼠标点下app再点右键->Open Module Settings->Dependencies->Library dependency

然后在输入框中输入ButterKnife,点击右边的搜索图标,就会出现下图。

选择com.jakewharton:butterknife:8.4.0,不要选错了,选错的话接下来的步奏会报错的。我就是掉进过这个坑

这里写图片描述

2.在项目的project 的build.gredle 文件中的dependencies标签下添加。(注意是project,不是app)

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

接下来进入到module的build.gredle里

3.在module的build.gredle 文件的顶部添加 apply plugin: 'android-apt'

在dependencies中添加 apt 'com.jakewharton:butterknife-compiler:8.4.0'

示例代码:

apply plugin: 'com.android.application'
apply plugin: 'android-apt'
android {
    compileSdkVersion 25
    buildToolsVersion "24.0.3"

    defaultConfig {
        applicationId "com.lm.demo.recyclerview_demo"
        minSdkVersion 21
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:25.0.1'
    compile 'com.jakewharton:butterknife:8.4.0'
    apt 'com.jakewharton:butterknife-compiler:8.4.0'
}

4.点击右上角的 Sync Now,等下一下就行了

5.在Activity的onCreate()中添加ButterKnife.bind(this);

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
    }

}

需要注意的是ButterKnife.bind(this); 要在 setContentView(R.layout.activity_main);之后

6.选中我们的布局,右键,如果出现的是如下情况(没有Generate ButterKnife Injections选项),我们就还需要进行下一步

这里写图片描述

7.File->Settings->plugins->在输入框输入ButterKnife->点击下图蓝色字体 Browse

这里写图片描述

然后再点击 Install

这里写图片描述

这时会提示重启Android studio 。

8.然后再一次选中我们的布局,右键,就会出现下图的选项,点击Generate ButterKnife Injections

图1

下图里面的Variable和OnClick,看一下出来的代码,想必你就明白什么意思了

图2

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.id_text)
    TextView idText;
    @BindView(R.id.id_text2)
    TextView text2;
    @BindView(R.id.id_imageView)
    ImageView idImageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
    }

    @OnClick(R.id.id_text)
    public void onClick() {
    }
}

感悟:在平时的一些demo中可以不用注解框架,但在一些完整的项目中,使用该框架会节省我们很多时间,代码看着也舒服。

另外,如果这里存在错误,还望各位指正,谢谢!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值