[Android Studio] 超好用之第三方函式庫分享 - Butter Knife

工作日誌 Day 3

Butter Knife 中文直翻 "奶油刀"

我個人是感覺他名稱的由來是因為他很油條,可以把原本臭長的程式碼變很短... ...

 

※ 功能介紹

1) 將

TextView text = (TextView) findViewById(R.id.txv);

變成

    @BindView(R.id.txv)
    TextView text;

 

2) 將

        findViewById(R.id.bt1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                text.setText("Click");
            }
        });

變成

    @OnClick(R.id.bt1) void btn(){
        text.setText("Click");
    }

什麼 setOnXXX, OnClickListener 的宣告都可以不用寫了,好東西還不趕快用嗎!!!!!

 

 

※ 如何使用?

 

1) 開啟 project-level 中的 build.gradle

在 buildscript dependencies 中加入

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'

2) 開啟 module-level 中的 build.gradle

在最上面加入

apply plugin: 'android-apt'
apply plugin: 'com.jakewharton.butterknife'

dependencies 中加入

compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'

 

3) 開啟 MainActivity.java 

onCreate 中加入

ButterKnife.bind(this);

 

[註]

1. 個人認為這是神物,其實還有第三種用法,因為還不熟暫時還沒介紹而已,有興趣可以參考他的作者文章

2. 資料來源

https://github.com/JakeWharton/butterknife

https://blog.ccjeng.com/2015/08/Android-ButterKnife.html