码迷,mamicode.com
首页 > 移动开发 > 详细

AndroidAnnotations库的使用

时间:2015-07-21 20:35:41      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:开发框架   androidannotations   

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

AndroidAnnotations库的使用

标签:开发框架   androidannotations   

原文地址:http://blog.csdn.net/changhuiyuanh/article/details/46990853

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!