标签: greendao

与单个表的多个toMany关系

我是greenDAO的新手,我正在编写DaoGenerator.我遇到的一个问题是我有一个用户表和一个wallpost表.我希望能够在wallpost表中有两列与用户表(墙所有者和发布用户)的很多关系,他们可能是也可能不是同一个用户,但到目前为止它看起来不像可以有两个toMany关系,指向同一个表中的单个表.

有没有更好的方法来做到这一点/一种方法来实现这一目标?我希望能够通过调用.getOwner()和.getPoster()来加载墙贴并获取墙所有者并发布用户.

谢谢

orm android relational-database greendao

5
推荐指数
1
解决办法
693
查看次数

GreenDAO QueryBuilder 动态连接条件

我需要验证一些条件来创建一个完整的查询:

QueryBuilder<MyObj> qb = getMyObjDao().queryBuilder();

if ( someCondition )
     qb.where(MyObjDao.Properties.Prop1.eq(someValue));
else       
    qb.whereOr(MyObjDao.Properties.Prop2.eq(someValue),MyObjDao.Properties.Prop2.eq(someValue));

if ( someOtherCondition )
     qb.where(MyObjDao.Properties.Prop3.eq(someValue));
else
     qb.whereOr(MyObjDao.Properties.Prop4.eq(someValue));
Run Code Online (Sandbox Code Playgroud)

那么是否可以连接查询构建器条件并动态创建查询构建器?

sqlite android greendao

5
推荐指数
1
解决办法
781
查看次数

如何将greenDAO与JSON Jackson集成并处理多对多关系映射

有没有最好的方法将JSON Jackson与greenDAO整合在一起.此外,如何使用greenDAO处理多对多关系映射.我发现,我们需要创建一个具有多对多映射的连接表.有没有任何例子将所有这些功能结合在一起.

orm android greendao

5
推荐指数
1
解决办法
918
查看次数

GreenDao 选择单个列?

我只需要使用 GreenDao 返回一列。这是 SQL 查询:

SELECT NAME FROM PERSON
Run Code Online (Sandbox Code Playgroud)

我该如何使用 GreenDao 来做到这一点?

android greendao

5
推荐指数
1
解决办法
4054
查看次数

使用 greendao 中的 OpenHelper 升级数据库

我使用 GreenDao 作为我的 ORM。我想将架构从旧版本迁移到新版本。我使用此链接来实现我的 mygration。所以我编写了自己的 OpenHelper 类并将其放入另一个包中。我像这样实现 onUpgrade 方法:

public class UpgradeHelper extends OpenHelper {

public UpgradeHelper(Context context, String name, CursorFactory factory) {
    super(context, name, factory);
}

/**
 * Apply the appropriate migrations to update the database.
 */
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    Log.i("greenDAO", "My Upgrade Helper -------- Upgrading schema from version " + oldVersion + " to " + newVersion + " by dropping all tables");
    switch (newVersion) {
    case 2:
        new …
Run Code Online (Sandbox Code Playgroud)

database sqlite android greendao

5
推荐指数
1
解决办法
3275
查看次数

后台线程锁定UI几秒钟

我遇到了一个奇怪的问题.我有我的应用程序的双向同步代码在一个内部运行ScheduledThreadPoolExecutor.代码从服务器的响应中迭代大量对象,并将它们保存到本地数据库(带有GreenDAO的SQLite).

问题是,当这个线程正在处理对象列表时,UI会锁定几秒钟,并且我在logcat中得到多个跳过帧的警告.

02-16 02:34:34.539    5730-5730/com.myapp.android D/SyncService? Sync done.
02-16 02:34:34.552    5730-5730/com.myapp.android I/Choreographer? Skipped 123 frames!  The application may be doing too much work on its main thread.
02-16 02:34:41.060    5730-5748/com.myapp.android I/art? Background sticky concurrent mark sweep GC freed 168341(7MB) AllocSpace objects, 1(81KB) LOS objects, 15% free, 39MB/46MB, paused 1.774ms total 108.998ms
02-16 02:34:42.515    5730-5748/com.myapp.android I/art? Background partial concurrent mark sweep GC freed 249676(9MB) AllocSpace objects, 34(3MB) LOS objects, 32% free, 33MB/49MB, paused 10.125ms total 118.693ms
02-16 02:34:45.361    5730-5748/com.myapp.android …
Run Code Online (Sandbox Code Playgroud)

java performance multithreading android greendao

5
推荐指数
0
解决办法
1万
查看次数

如何在发行版之间进行数据库迁移单元测试

我有一个Android应用程序,其数据库版本为1.

我在一个表中添加了一个数据列,并且可以迁移到新版本中.

我遇到的问题是如何为此进行单元测试.我需要检查旧数据是否正确插入新结构中,并以正确的方式添加和填充新列.

我最好怎么做?提前致谢.

migration sqlite android greendao

5
推荐指数
1
解决办法
687
查看次数

DaoConfig使用Android 5.0在Samsung Devices上使用greendao初始化失败

Crashlytics报道了greendao的大量崩溃事件:

> Caused by de.greenrobot.dao.DaoException: Could not init DAOConfig
>        at de.greenrobot.dao.internal.DaoConfig.<init>(DaoConfig.java:94)
>        at de.greenrobot.dao.AbstractDaoMaster.registerDaoClass(AbstractDaoMaster.java:44)
> ... Caused by java.lang.NoSuchFieldException: TABLENAME
>        at java.lang.Class.getField(Class.java:1104)
>        at de.greenrobot.dao.internal.DaoConfig.<init>(DaoConfig.java:56)
>        at de.greenrobot.dao.AbstractDaoMaster.registerDaoClass(AbstractDaoMaster.java:44)
Run Code Online (Sandbox Code Playgroud)

似乎只有三星设备(SM-G900V,SM-900A,SM-900P,SM-870A,SCH-545等)全部运行Android 5.0 Lollipop.

根据我的研究,他们的设备上似乎有一个三星类加载器实现问题导致了这个问题.人们在此问题中提到可能的加载程序是一个问题:https: //code.google.com/p/gmaps-api-issues/issues/detail?id = 8314

人们建议在Proguard中添加keep规则,但我们在应用程序中根本没有使用Proguard.我们确实启用了多索引.

有人有修复或解决方法的建议吗?

android samsung-mobile greendao nosuchfieldexception android-5.0-lollipop

5
推荐指数
1
解决办法
977
查看次数

在greenDAO实体中添加数组作为属性

我有以下JSON响应,我希望映射到我的实体:

{
"name": "Andrew",
"stop_ids": [
  "956",
  "957",
  "958"
]
}
Run Code Online (Sandbox Code Playgroud)

我知道如果我用my创建另一个实体,我可以创建一对多的关系stop_ids,但是有没有办法直接映射这个?

这是我下面的代码,我不知道如何直接映射下面的数组作为我的属性.

Entity person = schema.addEntity("person");
person.addStringProperty("name");
person.addArrayProperty("stop_ids");  //what is the correct way to do this?
Run Code Online (Sandbox Code Playgroud)

java orm android greendao

5
推荐指数
1
解决办法
1414
查看次数

如果我们比较Android的Realm和GreenDAO本地存储数据库哪一个更好?是什么原因使其中一个变慢?

我正在开发一个Android应用程序,并希望使用数据库进行本地存储.我已经在互联网上搜索并找到了本地存储数据库之间的一些比较.但我必须在Realm和GreenDAO之间进行选择.所以请建议我使用哪一个.

performance orm realm nosql greendao

5
推荐指数
1
解决办法
3218
查看次数