標籤:
Android Annotations是一個開源的架構,用於加速 Android應用的開發,可以讓你把重點放在功能的實現上,簡化了代碼,提升了可維護性。
特性:
- 依賴注入: inject views, extras, system services, resources, ...
- 簡化的執行緒模式: annotate your methods so that they execute on the UI thread or on a background thread.
- Event 綁定: annotate methods to handle events on views, no more ugly anonymous listener classes!
- REST 用戶端: create a client interface, AndroidAnnotations generates the implementation.
- AndroidAnnotations provide those good things and even more for less than 50kb, without any runtimeperf impact!
@EActivity(R.layout.translate) // Sets content view to R.layout.translatepublic class TranslateActivity extends Activity { @ViewById // Injects R.id.textInput EditText textInput; @ViewById(R.id.myTextView) // Injects R.id.myTextView TextView result; @AnimationRes // Injects android.R.anim.fade_in Animation fadeIn; @Click // When R.id.doTranslate button is clicked void doTranslate() { translateInBackground(textInput.getText().toString()); } @Background // Executed in a background thread void translateInBackground(String textToTranslate) { String translatedText = callGoogleTranslate(textToTranslate); showResult(translatedText); } @UiThread // Executed in the ui thread void showResult(String translatedText) { result.setText(translatedText); result.startAnimation(fadeIn); } // [...]}
一些常用注釋的使用方法:
@AfterInject 定義的方法在類的構造方法執行後執行
@AfterTextChange定義的方法在TextView及其子類的Text屬性改變後執行
@AfterViews 定義的方法在setContentView後執行
@Background 定義的方法在後台線程執行
@BeforeTextChange 定義的方法在TextView及其子類的Text屬性改變前執行
@Click 定義點擊監聽器
@EActivity 在Activity中啟用Annotations
@EProvider 在 ContentProvider中啟用Annotations
@EReceive 在BroadcastReceiver中啟用Annotations
@EService 在Service中啟用Annotations
@EView 在自訂的View的子類中啟用Annotations
@Fullscreen 全屏
@NoTitle 無標題列
掌握這些注視對讀懂利用該第三方代碼開發的代碼非常有協助,同時對利用該代碼開發的APK檔案反編譯的解釋能夠有更深入的瞭解。
Android Annotations(1)