工作日誌 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