作者:于英豪H | 来源:互联网 | 2023-05-17 18:27
介绍AndroidAnnotations(AA)是在编译时的标注处理器,能简化安卓项目开发,通过标注来实现依赖注入(DI),实现代码解耦。和另一个著名的项目RoboGuice不同的是,RoboGuic
介绍
AndroidAnnotations(AA)是在编译时的标注处理器,能简化安卓项目开发,通过标注来实现依赖注入(DI),实现代码解耦。和另一个著名的项目RoboGuice不同的是,RoboGuice使用Google的Guice库,在运行时通过反射实现DI;而AA在编译时生成代码,与RoboGuice相比,性能更好。
例子
import android.app.Activity;
import android.widget.EditText;
import android.widget.TextView;
import com.googlecode.androidannotations.annotations.Click;
import com.googlecode.androidannotations.annotations.EActivity;
import com.googlecode.androidannotations.annotations.ViewById;
@EActivity(R.layout.main) //声明布局,省略了setContentView(R.layout.main)
public class MyActivity extends Activity {
@ViewById(R.id.myInput) //注入View
EditText myInput;
@ViewById(R.id.myTextView) //注入View
TextView textView;
@Click //声明Click事件
void myButton() {
String name = myInput.getText().toString();
textView.setText("Hello "+name);
}
}
在Intellij中使用AA
下载
下载地址:https://github.com/excilys/androidannotations/wiki/Download
解压后有两个jar,其中androidannotations-XXX.jar是预处理器,androidannotations-api-XXX.jar是编译时需要的API。
在Project Compiers中设置预编译器
Preference -> Compier(Project Settings) -> Annotation Processors
将PATH更换成你的androidannotations-XXX.jar所在的目录,生成的目录在下面会用到,可自定义。
在Modules设置中添加api依赖
Project Structure -> Modules -> Dependencies中添加androidannotations-api-XXX.jar
Project Structure -> Modules -> Sources中将aa-gen目录标记成Sources目录
这样就设置完成了。
要注意AA会将MyActivity生成为MyActivity_,你需要在Manifest中修改activity声明。
也可以参考http://www.jayway.com/2012/08/31/making-androidannotations-work-with-intellij-idea