Android开源框架——依赖注入ButterKnife
生活随笔
收集整理的這篇文章主要介紹了
Android开源框架——依赖注入ButterKnife
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
若對依賴注入不熟悉,請閱讀博客中的另外一篇IOC控制反轉淺析
介紹:ButterKnife是Square公司員工JakeWharton開發的一款針對View視圖對象的依賴注入庫。目的是通過依賴注入方式,將View對象的初始化簡化,并極大地改進了代碼之間的耦合度。
特點
- 用預編譯方法替代了反射機制(注意:反射機制極大地浪費資源,包括空間與時間資源)
- 在編譯的過程中就創建了視圖對象,編譯采用的是Annotation編譯器
- IOC容器從xml布局文件中,將對象取出分配給組件中對象的引用(這也是依賴注入的精髓)
優勢
- 使用@BindView注解,刪除findViewById調用
- 將多個視圖組合在一起,然后一次性調用動作,設置,屬性
- 使用@onClick方式,刪除了監聽器的匿名內部類
- 使用資源注解方式,刪除了資源查詢的調用
安裝
project-level build.gradle:
module-level build.gradle:
apply plugin: 'android-apt'android {... }dependencies {compile 'com.jakewharton:butterknife:8.0.1'apt 'com.jakewharton:butterknife-compiler:8.0.1' }注意:
例如:
class ExampleActivity extends Activity {@BindView(R.id.user) EditText username;@BindView(R.id.pass) EditText password;@BindString(R.string.login_error) String loginErrorMessage;@OnClick(R.id.submit) void submit() {// TODO call server...}@Override public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.simple_activity);ButterKnife.bind(this);// TODO Use fields...} }詳細內容請查閱
github地址:https://github.com/JakeWharton/butterknife
官方使用說明:http://jakewharton.github.io/butterknife/
總結
以上是生活随笔為你收集整理的Android开源框架——依赖注入ButterKnife的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOC控制反转浅析
- 下一篇: Android开源框架——依赖注入Dag