AndroidAnnotations框架的配置及标签介绍

本文介绍了AndroidAnnotations框架的配置步骤,包括在build.gradle中添加依赖,修改清单文件,以及make project进行编译。接着详细讲解了各种注解的用法,如@EActivity、@EFragment、@ViewById、@Click等,用于简化Activity、Fragment的创建和事件监听。此外,还涵盖了资源、线程、值约束和权限相关的注解,帮助开发者更高效地编写Android应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 配置

在model的build.gradle中配置:

//step 1
//添加依赖插件,定义版本号
def AAVersion = '4.4.0'

//step 2
//添加依赖包dependencies {
  ...
    compile "org.androidannotations:androidannotations-api:$AAVersion"
    annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
    androidTestCompile('com.android.support:support-annotations:26.1.0') {
        force = true
    }
}
//step 3
//project 下build.gradle中配置classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'//step 4
在清单文件AndroidManifest.xml中activity改成activity_

添加完后syns一下。

此时可以添加@EActivity标签,后面加布局,等同于setConyentView("布局"),如图:


再在清单文件中将MainActivity修改为MainActivity_,如图:

再make project编译一下。

至此配置完成。

二. 注解标签
view注解:
@Nullable    :  没有返回值
@NonNull     : 有返回值
@CheckResult : 该注解是为了检测方法返回值是否是需要使用的
@EActivity   :   后面需要跟上一个layout id,来标示该Activity所加载的xml布局,这样原来的onCreate()方法就不用写了
@EFragment : 注解Fragment,后面可跟上一个layout id,绑定布局
@App : Application类的注解,在其他地方调用Application时添加
@Bean : Bean类使用或是自定义的类时添加
@AfterViews : 执行完oncreate后执行
@EView :创建一个继承View的类并用@EView进行标注
@ViewById  :   与findViewById作用一致,而且@ViewById后面可以不写控件id,前提是控件变量名要与控件id一致
@Click   :   也就是控件的点击事件,而且如果控件ID与方法名一致,后面就不用写控件ID了. 该注解可以单独写,也可以对多个Button合并写
@TextChange : 文本发生变化时的注解
@BeforeTextChange : 文本发生变化前的注解
@AfterTextChange : 文本发生变化后的注解
@EditorAction : EditText被编辑时的注解

 

 

资源注解:

@StringRes  :  表示参数、变量或者函数返回值应该是一个字符串类型的资源
@ColorInt : 表示参数、变量或者函数返回值应该是一个颜色值而不是颜色资源引用,例如应该是一个 AARRGGBB 的整数值。
@ColorRes  :  表示参数、变量或者函数返回值应该是一个 color 类型的资源,而不是颜色值。注意和 ColorInt 区别
@AnimRes  :  表示参数、变量或者函数返回值应该是一个 Anim 类型的资源
@DrawableRes  :  表示参数、变量或者函数返回值应该是一个 drawable 类型的资源
@DimenRes  :  表示参数、变量或者函数返回值应该是一个 dimension 类型的资源

 

线程注解:

@UiThread
@MainThread
@WorkerThread
@BinderThread
其中@UiThread 和 @MainThread 在大部分的使用场景中,是可以替换使用的,如果一个类中的所有方法都在同一个线程中执行,就直接可以在类本身进行注解;

值约束注解:
@FloatRange :需要传的参数是一个Float或者Double类型,设置范围为0.0~1.0
@IntRange : 对int值进行约束限定,范围限定为0~255
@Size : ①show(@Size(max=10) String name):字符串限制,字符串name长度最长为10
               ②show(@Size(2) int[] name):数组元素限制,数组name元素最多为2


权限注解: 

@RequiresPermission(权限): 在java 代码中声明权限
@RequiresPermission(anyOf = {权限,权限}): 在java 代码中声明要其中一个权限
@RequiresPermission(allOf = {权限,权限}): 在java 代码中声明要全部权限

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值