AndroidAnnotations(Code Diet)
android快速开发框架简介:
项目地址:https://github.com/excilys/androidannotations
文档介绍:https://github.com/excilys/androidannotations/wiki
官网网址:http://androidannotations.org/
特点:(1) 依赖注入:包括view,extras,系统服务,资源等等
(2) 简单的线程模型,通过annotation表示方法运行在ui线程还是后台线程
(3) 事件绑定:通过annotation表示view的响应事件,不用在写内部类
(4) REST客户端:定义客户端接口,自动生成REST请求的实现
(5) 没有你想象的复杂:AndroidAnnotations只是在在编译时生成相应子类
(6) 不影响应用性能:仅50kb,在编译时完成,不会对运行时有性能影响。
PS:与roboguice的比较:roboguice通过运行时读取annotations进行反射,所以可能影响应用性能,而AndroidAnnotations在编译时生成子类,所以对性能没有影响
笔者是在Android Studio下进行配置开发的,在配置的过程中,除了一点问题,解决方案记录在此:
问题1:Error:(2, 0) Plugin with id ‘android-apt‘ not found.
这个问题出现在在Module中配置build.gradle如下出现的:
dependencies { def AAVersion = '3.2' apt "org.androidannotations:androidannotations:$AAVersion" compile "org.androidannotations:androidannotations-api:$AAVersion" }
解决方法:在Project的build.gradle添加如下配置:
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'//Added line } }
问题2:Error:(33, 1) 错误: The AndroidManifest.xml file contains the original component, and not the AndroidAnnotations generated component. Please register MainActivity_ instead of MainActivity
出现错误定位代码如下:
@EActivity(R.layout.activity_main) public class MainActivity extends AppCompatActivity{ //...... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initViews(); }
按照提示的思维修复错误,如下:
好吧,在运行前,先点击编译..
OK,Run.
参考:
https://github.com/Trinea/android-open-project
版权声明:本文为博主原创文章,未经博主允许不得转载。