网上的教材实例都说要先下载好两个jar包,然后放到工程里面,但我发现直接在Module gradle里面
compile ‘org.androidannotations:androidannotations:4.1.0’
compile ‘org.androidannotations:androidannotations-api:4.1.0’
就好了
然后,在project gradle里面的dependencies {}加入
classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.4’
得到的全部代码是
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0-beta1'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
然后再到 局部gradle里面的相关位置加入以下代码
apply plugin: ‘android-apt’
def AAVersion = ‘3.3.1’
apt “org.androidannotations:androidannotations: AAVersion”compile“org.androidannotations:androidannotations−api: AAVersion”
得到的全部代码是
apply plugin: 'com.android.application'
apply plugin: 'android-apt'
def AAVersion = '3.3.1'
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
defaultConfig {
applicationId "com.example.administrator.learnandroidannotation"
minSdkVersion 19
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.1.1'
testCompile 'junit:junit:4.12'
compile 'org.androidannotations:androidannotations:4.1.0'
compile 'org.androidannotations:androidannotations-api:4.1.0'
compile "org.androidannotations:androidannotations-api:$AAVersion"
apt "org.androidannotations:androidannotations:$AAVersion"
}
这样就可以使用了
附常用注解
@EActivity(R.layout.sample) 注释可以设置Layout,相当于setConentView方法
@OptionsMenu(R.menu.sample) 设置Activity的菜单项
@EProvider 在ContentProvider中启用Annotations
@EReceive 在BroadcastReceiver中启用Annotations
@EApplication 在Application中启用Annotations
@EFragment 在Fragment中启用Annotations
@Eservice 在Service中启用Annotations
@EViews 在自定义的View的子类中启用Annotations
@EBean 使用的JavaBean,能直接取到调用他的Context,支持@ViewById标签找到控件
@RootContext 能取到调用该Bean的Context,构造方法不再需要传Context参数
@Background 在后台线程执行,与@UiThread联合使用可替换AsyncTask中的doinBackground和onPostExecute
@UiThread(delayed 2000) 在UI线程执行
@Inject 注解构造器时创建类的实例或对象
@AfterInject 在构造方法执行完成后执行
@Fullscreen 全屏设置
@NoTitle 不显示标题设置
@SystemService
@ViewById 注释功能与findViewById相同,如果声明的变量名就是id,可以省去参数,否则应加上id,如ViewById(R.id.tv)
@StringRes 用法同上,获得字符串资源
@ColorRes 用法同上,获得色彩资源
@BooleanRes
@AnimationRes 用法同上,获得动画资源
@Bean 创建JavaBean时的标签
@App 创建一个Application对象
@AfterViews 注释定义的方法会在OnCreate方法的setContentView后执行
@BeforeTextChange 定义的方法在TextView及其子类的Text属性改变前执行
@AfterTextChange(R.id.edit) 在EditText内容改变时,更新TextView内容
@Click(R.id.tv, R.id,tm) 点击TextView时调用
@LongClick 长按效果