日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android开源框架——依赖注入ButterKnife

發布時間:2025/3/21 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android开源框架——依赖注入ButterKnife 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

若對依賴注入不熟悉,請閱讀博客中的另外一篇IOC控制反轉淺析

介紹:ButterKnife是Square公司員工JakeWharton開發的一款針對View視圖對象的依賴注入庫。目的是通過依賴注入方式,將View對象的初始化簡化,并極大地改進了代碼之間的耦合度。



特點

  • 用預編譯方法替代了反射機制(注意:反射機制極大地浪費資源,包括空間與時間資源)
  • 在編譯的過程中就創建了視圖對象,編譯采用的是Annotation編譯器
  • IOC容器從xml布局文件中,將對象取出分配給組件中對象的引用(這也是依賴注入的精髓)

優勢

  • 使用@BindView注解,刪除findViewById調用
  • 將多個視圖組合在一起,然后一次性調用動作,設置,屬性
  • 使用@onClick方式,刪除了監聽器的匿名內部類
  • 使用資源注解方式,刪除了資源查詢的調用


安裝
project-level build.gradle:

buildscript {repositories {mavenCentral()}dependencies {classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'} }

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' }

注意:

  • apply plugin: ‘android-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/

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的Android开源框架——依赖注入ButterKnife的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。