Agregar marco de anotaciones al proyecto
Para evitar olvidarlo más tarde, escriba un blog y registre su viaje a Android ~
Uno, build.gradle en la aplicación
Agrega el siguiente código
apply plugin: 'com.android.application'
apply plugin: 'android-apt'
def AAVersion = '3.3.2' //版本
dependencies {
/**
原本存在的一些jar包,只需在后面添加下面两行代码即可
*/
apt "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
}
apt {
arguments {
androidManifestFile variant.outputs[0]?.processResources?.manifestFile
// if you have multiple outputs (when using splits), you may want to have other index than 0
// you should set your package name here if you are using different application IDs
// resourcePackageName "your.package.name"
// You can set optional annotation processing options here, like these commented options:
// logLevel 'INFO'
// logFile '/var/log/aa.log'
}
}
Dos, el build.gradle de la capa Project
dependencies {
// replace with the current version of the Android plugin
classpath 'com.android.tools.build:gradle:1.3.0'
// replace with the current version of the android-apt plugin
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
Nota: Error: Causa: puede aparecer un par no autenticado al compilar gradle. Hay muchas situaciones. Lo que encontré al escribir es que la versión de gradle es demasiado alta. Simplemente cambie 1.5.0 a 1.3.0. Para obtener más información, consulte: informes de proyectos de importación de Android Studio Error: Causa: excepción de pares no autenticados
Tres, sincronizar gradle
Cuatro, usa
1. El nombre del objeto utilizado en el código, el nombre del método de evento de clic debe ser coherente con la identificación definida en el archivo XML 2. La
XXActivity en el archivo AndroidManifest debe cambiarse a XXActivity_
por ejemplo
@EActivity(R.layout.activity_main)
public class MainActivity extends AppCompatActivity {
@ViewById
TextView main_text_tv;
@ViewById
Button main_button_btn;
@AfterViews
public void init() {
main_text_tv.setText("文字");
main_button_btn.setText("按钮");
}
@Click
void main_text_tv() {
main_text_tv.setText(main_text_tv.getText().toString().equals("文字") ? "点击状态" : "文字");
}
@Click
void main_button_btn() {
main_button_btn.setText(main_button_btn.getText().toString().equals("按钮") ? "点击状态" : "按钮");
}
}