前言
android學習了一段時間后,想要開發一款App,但是一些復雜的代碼寫多了實在麻煩,就到網上找了找簡便的方法,於是在眾多的注解開發框架中,找到了Android Annotation這個框架,這里列出他的一些特點:
(1) 依賴注入:包括 view,extras,系統服務,資源等等。
(2) 簡單的線程模型,通過 annotation 表示方法運行在 ui 線程還是后台線程。
(3) 事件綁定:通過 annotation 表示 view 的響應事件,不用在寫內部類。
(4) REST 客戶端:定義客戶端接口,自動生成 REST 請求的實現。
(5) 沒有你想象的復雜:AndroidAnnotations 只是在在編譯時生成相應子類。
(6) 不影響應用性能:僅 50 kb,在編譯時完成,不會對運行時有性能影響。
其他:與 roboguice 的比較:roboguice通過運行時讀取 annotations 進行反射,所以可能影響應用性能,而 AndroidAnnotations 在編譯時生成子類,所以對性能沒有影響。
配置
因為這里使用的是AndroidStudio3.0版本,在網上找到的很多添加依賴包的方法都是在舊版本的AS中使用apt插件進行配置的,而因為Android Studio推出的官方插件annotationProcessor,apt插件的作者已不再更新,所以這里我們就不在討論apt的配置方法,直接在app的build.gradle中使用annotationProcessor進行配置。
apply plugin: 'com.android.application' def AAVersion = "4.3.1" android { compileSdkVersion 26 defaultConfig { minSdkVersion 21 targetSdkVersion 26 // If you have different applicationIds for buildTypes or productFlavors uncomment this block. //javaCompileOptions { // annotationProcessorOptions { // arguments = ['resourcePackageName': "org.androidannotations.sample"] // } //} } } dependencies { annotationProcessor "org.androidannotations:androidannotations:$AAVersion" implementation "org.androidannotations:androidannotations-api:$AAVersion" }
轉:https://blog.csdn.net/t116180/article/details/80030478