Android Annotations 学习笔记(更新中)

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");
}
使用框架写法:

@ViewById
TextView tv;

@AfterViews
void 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值