当前位置: 代码迷 >> Android >> 【FastDev4Android框架开发】AndroidAnnnotations流入框架使用之第三方框架集成OrmLite(十五)
  详细解决方案

【FastDev4Android框架开发】AndroidAnnnotations流入框架使用之第三方框架集成OrmLite(十五)

热度:416   发布时间:2016-04-27 22:22:52.0
【FastDev4Android框架开发】AndroidAnnnotations注入框架使用之第三方框架集成OrmLite(十五)

转载请标明出处: 

http://blog.csdn.net/developer_jiangqq/article/details/49530971
本文出自:【江清清的博客】

().前言:   

      前面我们已经对于AndroidAnnotations框架集成Otto事件总线做了讲解,今天我们开始具体学习一下第三方框架集成Ormlite数据库持久化框架。主要为了我们更加方便对数据库操作使用。

      FastDev4Android框架项目地址:https://github.com/jiangqqlmj/FastDev4Android 

       OrmLite的官网:http://ormlite.com/sqlite_java_android_orm.shtml

().使用介绍:

      AndroidAnnotations2.7开始,   我们可以使用@OrmLiteDao来进行注解OrmLite DAOs框架。

    【注】最低支持的版本为ORMLite4.21

       @OrmLiteDao有以下一个强制性的属性:

     helper应该持有databasehelper的引用(该类需要继承自com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper)

     【注】不要获取和释放该helper,我们使用的OpenHelperManager,是不能在同一事件同时处理不同的helpers。所以如果当你在使用多个databasehelpers,需要小心使用OrmLite注解。使用实例如下:

@EActivitypublic classMyActivity extends Activity {     // UserDao is a Dao<User, Long>    @OrmLiteDao(helper = DatabaseHelper.class)    UserDao userDao;     @OrmLiteDao(helper = DatabaseHelper.class)    Dao<Car, Long> carDao; }

       AndroidAnnotations4.0之前,AndroidAnnotations早期的版本中,@OrmLiteDao有model第二个强制的属性,就和和DAO相关model对象。

().DAO运行时异常:

       AndroidAnnotations3.0,3.0版本之前,所有DAO的子类都可以使用@OrmLiteDao进行注解。现在我们还是可以使用RuntimeExceptionDao的子类进行处理。

      AndroidAnnotations3.3,现在可以注解扩展自RuntimeExceptionsDao的子类,该类必须要有一个构造函数,传入和Dao模型。使用实例如下:

public classUserRuntimeExceptionDao extends RuntimeExceptionDao<User, Long> {     public UserRuntimeExceptionDao(Dao<User,Long> dao) {        super(dao);    } } @EActivitypublic classMyActivity extends Activity {     @OrmLiteDao(helper = DatabaseHelper.class)    UserRuntimeExceptionDao userDao; }

      到此位置关于AndroidAnnotations第三方框架集成之OrmLite集成已经全部讲解完成了。

同时FastDev4Android项目已经添加配置了AndroidAnnotations框架,后期的框架项目中也会主要使用这个DI框架,.欢迎大家去Github站点进行clone或者下载浏览:https://github.com/jiangqqlmj/FastDev4Android 同时欢迎大家starfork整个开源快速开发框架项目~

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