注:近期才看到的這個類庫,來自於jakewharton大神的力作,安卓裡面的檢視注入庫
另小弟水平有限,翻譯的不好,還請多多指正
進去後首先看到的是關於使用方法的解說,翻譯部分正式開始(通俗且精簡化,建議對比著看)!
class exampleactivity extends activity
}
class exampleactivity extends activity
}
class exampleactivity extends activity
}
public void inject(exampleactivity activity)
public class fancyfragment extends fragment
}
public class myadapter extends baseadapter else
holder.name.settext("john doe");
// etc...
return convertview;
} static class viewholder
}}
-當使用activity作為view root節點時,你假設使用的是像mvc設計模式,你能夠將控制器注入,使用它的acitvity並通過butterknife.inject(this, activity)
方法
-將乙個子view物件字段注入,使用butterknife.inject(this)(在前面樣例的
oncreate方法中就是,不懂的能夠參考這個
),假設你在乙個layout
的構造方法中使用標籤而且,
inflate了乙個自己定義view,馬上呼叫這種方法。或者,假設是從xml中inflate自己定義view,
能夠使用這種方法---
onlayoutinflated()
@onclick(r.id.submit)
public void submit()
@onclick(r.id.submit)
public void sayhi(button button)
@onclick()
public void pickdoor(doorview door) else
}
public class fancyfragment extends fragment
@override void ondestroyview()
}
@optional @injectview(r.id.might_not_be_there) textview mightnotbethere;
@optional @onclick(r.id.maybe_missing) void onmaybemissingclicked()
view view = layoutinflater.from(context).inflate(r.layout.thing, null);
textview firstname = butterknife.findbyid(view, r.id.first_name);
textview lastname = butterknife.findbyid(view, r.id.last_name);
imageview photo = butterknife.findbyid(view, r.id.photo);
com.jakewharton
butterknife
4.0.1
使用注入會導致proguard 覺得變數未被使用,因此,須要在proguard 中增加例如以下字段
-dontwarn butterknife.internal.**
-keep class **$$viewinjector
-keepnames class *
判斷安卓程式是否高危程式。
apk許可權詳細對照表 您的位置 基於網路的 粗略位置 隱私權限 您的位置 精準的 gps 位置 隱私權限 您的位置 使用模擬地點 進行測試 您的帳戶 作為帳戶身份驗證程式 網路通訊 建立藍芽連線 系統工具 藍芽管理 需要您付費的服務 直接撥打 號碼 付費 硬體控制項 拍照 系統工具 更改使用者介面...
安卓應用程式部分
android 應用程式有鬆散耦合的元件組成,並使用程式manifest繫結在一起,應用程式manifest秒速了每乙個元件他們之間的互動方式,還用於指定應用陳旭資料來源 其硬體和平台要求 外部庫以及必須的許可權 activity應用程式表示層 service應用程式中不可見的工作這。被用於執行一些...
安卓應用程式混淆
應用程式混淆 防止程式被反編譯。步驟 1.將專案下的 project.properties 檔案的 proguard.config tools proguard proguard android.txt proguard project.txt 行取消注釋。並修改為 proguard.config ...