Android Annotations 学习笔记(更新中)

来源:互联网 发布:java怎么实现文件上传 编辑:程序博客网 时间:2024/05/21 01:33

Android Annotations是一个开源框架,官方wiki文档里介绍了如下特性:

  • Dependency injection(依赖注入):注入Views、System Services、Resources等等。
  • Simplified threading model(简化事件模型):通过注解的方式来执行UI线程任务或者后台任务。
  • Event binding(事件绑定):通过注解的方式监听事件。
  • REST client:与服务器交互(本人暂未用到,故不详解)。
  • No magic:在编译时生成子类,可以通过它了解这个框架是如何运行的。


以下是个人使用中遇到的一些问题,记录一下。

1.当使用此框架时,不应该在onCreate里写view变量,而是写在@AfterViews中,因为当onCreate执行的时候,@ViewById尚未执行,故找不到控件。

正常写法:

TextView tv;onCreate(){tv=findViewById();tv.setText("AABB");}
使用框架写法:

@ViewByIdTextView tv;@AfterViewsvoid handleText(){tv.setText("AABB");}onCreate(){}


2.当使用@EFragment时,在Activity里new Fragment时要new Fragment_。


3.在Android Annotations 3.0以上的版本中,若使用到了Application则必须使用注解@EApplication,在AndroidManifest.xml文件中要使用"Application_"替代"Application"。如:

<application        android:name="com.aa.bb.CustomApplication_"        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme"></application>


4.注意区分异步线程,后台执行的应放在@Background下,更新UI线程的应放在@UiThead下。


5.使用@Extra来接收Intent传递的参数


6.带有回调方法的不要放在@UiThead下

0 0