天天看點

AndroidAnnotations學習筆記(七)

[size=large][color=red][b]@InstanceState[/b][/color][/size]

在onSaveInstanceState(Bundle)裡儲存值,在onCreate(Bundle)中讀取值。

原來代碼我們這樣寫

現在代碼這樣寫就可以了

[size=large][color=red][b]@WindowFeature[/b][/color][/size]

你可以用 @WindowFeature 自定義 activity 視窗的功能。标注值允許有一個或多個。

示例代碼

[size=large][color=red][b]@NoTitle[/b][/color][/size]

這個是說明視窗沒有Title,在3.0之後就不能用了。3.0以後用上面那個注解就可以實作了

[size=large][color=red][b]@Fullscreen[/b][/color][/size]

這個說明視窗是一個全屏視窗

示例代碼

[size=large][color=red][b]@CustomTitle[/b][/color][/size]

這個注解将視窗設定為 window.feature_custom_title 這樣視窗類型,并将其設定為指定的布局ID。

[size=large][color=red][b]@WakeLock[/b][/color][/size]

簡易的擷取WakeLock的方法

使用這個注解要是AndroidManifest.xml檔案中增加下面的權限

[size=large][color=red][b]@IgnoredWhenDetached[/b][/color][/size]

在@EFragment裡,使用@UiThread 或 @Background 注解時,加上這個注解如判讀父activity 是否存在。

應使用的方法,必須滿足以下條件:

隻能在@EFragment 中使用

注解的方法傳回值必須void,可以包含參數。

注解的方法傳回值必須void,可以包含參數。

示例代碼

[size=large][color=red][b]@HierarchyViewerSupport[/b][/color][/size]

引入 Hierarchy Viewer 支援

這個@HierarchyViewerSupport 注解允許你在任何裝置上使用 Hierarchy Viewer 檢查工具。

使用此批注,您的應用程式必須在 AndroidManifest.xml 檔案中設定 INTERNET 權限 和 android:debuggable 為 true。

請注意,使用非常簡單,你隻需在你的activity上加上@HierarchyViewerSupport

[size=large][color=red][b]@OnActivityResult[/b][/color][/size]

在沒有這個注解之前,我們接收一個Activity的傳回值時,要這麼寫代碼

有了這個标注後,我們可以這樣寫

該方法可以有多個參數:

Activity 傳回的資料

int或java.lang.Integer中得到resultCode

[size=large][color=red][b]@Transactional[/b][/color][/size]

@Transactional注解表明一個Activity的方法是事務性的,是以,在執行該方法之前,事務将被啟動,并随後送出。

如果方法抛出 RuntimeException ,該交易将復原。

該方法必須具有至少一個參數,它必須是一個SQLiteDatabase。

該方法不能是私有的,抛出其他異常。

使用示例:

[size=large][color=red][b]@Trace[/b][/color][/size]

該@Trace注釋允許您通過寫日志條目來跟蹤方法的執行。

該方法不能是私有的。

示例代碼

當然,也可以在這個注解中設定參數。

運作這種程式,點選bt_one這個按鍵,出列印出如下資訊:

你要在你的程式中使用這個注解,還要進行如下設定

收eclipse 為例:Project Properties > Java Compiler > Annotation Processing > Processor options > 建立一個 key 為trace, value 為 false