项目地址 https://github.com/excilys/androidannotations
项目配置,使用介绍地址 https://github.com/excilys/androidannotations/wiki
官网 http://androidannotations.org/
1.配置AndroidAnnotations
Module build.gradle中(加入红色字体部分):
apply plugin: 'com.android.application'
apply plugin: 'android-apt'
def AAVersion = '3.3.2'
android {
compileSdkVersion 19
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.tongbu.mytest"
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19.+'
apt "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
}
apt {
arguments {
androidManifestFile variant.processResources.manifestFile
resourcePackageName 'com.tongbu.mytest'
}
}
Projecet build.gradle中(加入红色字体部分):
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}
}
allprojects {
repositories {
jcenter()
}
}
2.使用
2.1代码 MainActivity.java
@EActivity(R.layout.activity_main)
public class MainActivity extends BaseActivity {
@ViewById(R.id.maina_btn_login)
Button mainaBtnLogin;
@ViewById(R.id.maina_btn_register)
Button mainaBtnRegister;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
2.2修改名字 把AndroidManifest.xml中的Activity的名字后面加上 _(下划线)
<activity
android:name=".MainActivity_"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
注:改完名字应该会报错 先不用管 编译一下就好
2.3编译
3工作的原理
在编译器中加了一层额外的自动编译步骤,用来生成基于你源码的代码。使用AvailableAnnotations的注解在编译期间就已经自动生成了对应的子类,运行期运行的其实就是这个子类.则不会造成任何负面的影响.