天天看點

Android注解架構AndroidAnnotations學習筆記2

    上一篇筆記簡單講了下如何使用注解架構AndroidAnnotations,接着學習了下這個架構的工作原理,是以繼續寫篇簡短的筆記。

     AndroidAnnotations的工作原理主要是:

  • java注解處理,包括 :

   1,用反射來處理注解,剛好前幾天學習了下java注解相關知識,又加深了印象,     2,在編譯時處理注解,主要用到了AbstracProcessor工具類及javax.lang.model.element包。javax.lang.model.element用于 Java 程式設計語言的模型元素的接口。 當在注釋處理的上下文中使用時,必須傳回要表示的元素的準确模型。使用的API文檔可參考:http://www.766.com/doc/javax/lang/model/element/class-use/Element.html

  • 代碼生成,用到了Jcodemodel,CodeModel 是用于生成 Java 代碼的 Java 庫,它提供了一種通過 Java 程式來生成 Java 程式的方法。其官網是:https://codemodel.java.net/
  • 通過上面兩種方式的處理,就生成了對應帶下線的類及對帶@符号的各種注解的對應處理,我們可能通過項目中生成的代碼去進行分析 。

AndroidAnnotations在開發中常見錯誤分析:

  • 在清單檔案AndroidManifest.xml中要注冊同名的Activity_等元件
  • 在我們代碼中定義的各種控件不能用private修飾符
  • 我們代碼中帶@注解的方法也不能用private作用方法的修改符

最後補充的就是AndroidAnnotations架構相對與其注解架構優勢:注解全面,使用友善,效率高。

繼續閱讀