美文网首页Android开发Android开发Android开发
记一次使用GreenDao的小“坑”

记一次使用GreenDao的小“坑”

作者: 张文文同学 | 来源:发表于2018-04-18 23:06 被阅读39次

很多Android开发者选择Greendao作为数据库使用工具,关于greendao的教程网络上也是一大堆,这里就不再介绍,主要是记录在项目中使用greendao出现的一个小问题,greendao的地址如下:greendao

事先说一下,我项目中使用的是greendao3.2.2

出现的主要问题是:NoClassDefFoundError 问题,具体的报错信息如下,这里是部分的,而且是从网络上找的,主要自己的那时候没记录,然后直接从网络上摘取部分。

java.lang.NoClassDefFoundError: org.greenrobot.greendao.query.WhereCollector
 at org.greenrobot.greendao.query.QueryBuilder.<init>(QueryBuilder.java:85) 
at org.greenrobot.greendao.query.QueryBuilder.internalCreate(QueryBuilder.java:73) 
at org.greenrobot.greendao.AbstractDao.queryBuilder(AbstractDao.java:793) 
at com.luckytry.luckylibrary.MyAplication.APPAplication.initData(APPAplication.java:132) 
at com.luckytry.luckylibrary.MyAplication.APPAplication.initDB(APPAplication.java:117) 
at com.luckytry.luckylibrary.MyAplication.APPAplication.onCreate(APPAplication.java:39) 
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1009) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4655) 
at android.app.ActivityThread.access$1800(ActivityThread.java:143) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1322) 
at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) 
at android.app.ActivityThread.main(ActivityThread.java:5356) at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:680) at dalvik.system.NativeStart.main(Native Method)

这个问题不同于ClassNotFond ,程序不会崩,但是就是没有数据,然后就是显示空白界面。从网络找的,很多都是添加如下的依赖:

  compile 'com.android.support:multidex:1.0.1'

然后自己的Application继承于android.support.multidex.MultiDexApplication,然后在清单文件中添加自己的Application,

接着是在Application 中实现如下:

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
       
    }

但是,实际运行之后发现,还是没有解决这个问题,还是报一样的错。

经过继续Google之后,找到了另外一种解决的办法,就是在项目中添加:

compile 'net.zetetic:android-database-sqlcipher:3.5.7'

这样发现能解决问题,所以在这里记录下。

相关文章

  • 记一次使用GreenDao的小“坑”

    很多Android开发者选择Greendao作为数据库使用工具,关于greendao的教程网络上也是一大堆,这里就...

  • Greendao 小坑

    相关连接: 1、http://www.jincanshen.com/2016/10/29/Android-gree...

  • GreenDao的小坑

    UNIQUE constraint failed: XXX._id (code 1555)须在Entity中添加一...

  • GreenDao3.1的使用教程

    最近有几个童鞋问我关于greendao的使用问题,以及碰见的一些坑,所以写这篇文章来说下。 GreenDao是什么...

  • GreenDao快速入门使用

    GreenDao快速入门使用 greenDao简介 工具和版本 greenDao如何使用 1、把greenDao添...

  • 采坑记之greendao缓存

    采坑记之greendao缓存项目里面ORM框架用的greendao.测试中出现一个问题,在一个界面获取数据库的一个...

  • GreenDAO 学习笔记

    GreenDAO 学习笔记 索引: 介绍 安装 使用 介绍 GreenDAO: ORM PS : 我个人是第一次接...

  • greenDao 的简单使用方法

    # greenDao 关于greendao,相信做android的大部分开发者都使用过了,速度快,体积小,使用简单...

  • Android之greenDao使用

    Android之greenDao使用 一、greenDao简介 1. 什么是greenDao GreenDAO是一...

  • GreenDao的简单实用总结

    GreenDao使用步骤1 引入GreenDao先在project的build.gradle中引入GreenDao...

网友评论

    本文标题:记一次使用GreenDao的小“坑”

    本文链接:https://www.haomeiwen.com/subject/yftikftx.html