Android AA框架

  • AndroidAnnotations
配置:https://github.com/androidannotations/androidannotations/wiki/Configuration
在当前gradle中配置并下载
在使用的时候,需要在AndroidManifest.xml中对每个activity或者servic的名字后面加一个 _ ,不然会找不到id。

@EActivity

必须要有一个layout id来表示这个Activity所使用的布局,用来替代setContentView的操作。

@ViewById

和原来的findViewById()方法一样,后面可以跟上每个view id,用来替代组件的初始化操作,值得注意的是:@ViewById后的id是可以不写的,条件是组件变量名称要与xml中定义的id必须一致(方法2)。

@AfterViews 

表示在组件初始化完成后在执行,更新组件状态的方法必须加上这个注解,否则会出现空指针。

@Click 

表示点击事件,用来完成组件的点击事件的操作。

@Extra

如果Activity中存在跳转传值,可以在接收值的Activity中用此标签获取Intent中传递的值。如果接收不到这个key对应的value,也没问题,你可以设置默认值。再有就是强转失败也不会造成crash,比如传递的是个int值,接收的时候是个String,也没有问题,只是接收失败罢了。

@Extra(MainActivity.NAME_KEY)
String mName;
@Extra(MainActivity.AGE_KEY)
String mAge;

@SystemService

获取系统服务注解。

@Background

处理后台耗时操作,在子线程中执行。

@UiThread

处理在UI线程中的操作。

更新UI的例子:

    @Background
    void timetektek() {
        while (!timetaker) {
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            setbtntext();
        }
    }

    @UiThread
    void setbtntext() {
        count = timecount++;
        btn.setText(count + "");
        Log.e("11111", count + "");
    }

@StringRes

引用String中的资源。

@OnActivityResult()

代替startActivityForResult(Intent,int),可以接收从另一个Activity返回的值

Activity1:

        Intent intent = new Intent(MainActivity.this, Main2Activity_.class);
        intent.putExtra(REQUEST, "I am a intent");
        startActivityForResult(intent, REQUEST_CODE);

        @OnActivityResult(REQUEST_CODE)
        void onResult(int resultCode, Intent data) {
            if (resultCode == 1) {
                text4.setText(data.getStringExtra("data"));
            }
        }


Activity2:

        Intent intent = new Intent();
        intent.putExtra("data", "data");
        setResult(1, intent);
        finish();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值