问题标签 [greendao]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
greendao - 为什么道大师没有非抽象的 OpenHelper 类?
为什么greendao的生成代码没有提供来自DaoMaster的非抽象OpenHelper类?它只提供 DevOpenHelper,我假设它仅用于开发模式。
史蒂夫
greendao - 如何在没有 Eclipse 的情况下编译 greenDao 示例?
如何在没有eclipse的情况下编译GreenDao示例和DaoExampleGenerator?
android - 使用 Green-DAO 持久化双向实体
你可能还记得我之前关于 Green DAO 中双向关系的问题,我有一个由对话和消息组成的聊天。
每条消息都有一个父对话,并且对话有一个消息列表。
当我尝试添加新消息时,只要我不关闭应用程序,它就可以完美运行。
这是我用于向现有对话添加消息的代码:
我现在有执行此操作的代码:
当我下次打开应用程序并调用conv.getMessageList()
时,结果为空ArrayList
。
我究竟做错了什么?
编辑:
我更改了我的代码,现在它看起来像这样:
不幸的是,现在比以往任何时候(即使在同一次运行中),仍然调用conv.getMessageList()
返回一个空的java.list
.
编辑2:
这是生成器的代码(这不是真正的代码,而只是对问题重要的代码。
编辑 3
现在,而不是打电话给conv.getMessageList();
我运行这条线,它工作正常。
我怀疑我或 greenrobot 在实施这一切时会遇到一个主要问题。
这是同时运行上述代码的问题Session.runInTx
吗?
java - 使用 stORM 或替代方法使用外键进行 Android SQLite 查询
我有以下型号
我有一个列表视图,它根据用户想要查看的类别显示内容。
类别数据
如果用户只想查看 category_id = 2 和 4 的地点。
我如何对数据库进行查询以返回具有 category_id = 2 和 4 的地点列表。
我正在为数据库使用stORM库。
他们具有以下功能来进行查询。
greendao - 如何为一个实体创建多个表?
如何为一个实体创建多个表?
android - 保留部分在生成时被删除
我正在使用 GreenDAO v1.2.0 为 Android 应用程序生成实体类。
我已经在我的模式上设置了 enableKeepSectionsByDefault(),并且在我生成的类中得到了这些注释行:
我在注释之间放了一些自定义方法,但是每次重新生成时都会删除自定义方法。
我还需要做些什么才能使其正常工作吗?
android - 如何将多个 greenDAO Tx 操作合并到一个事务中?
我的应用程序使用远程 REST API 并使用 greenDao 填充本地数据库。我有一个 AsyncTask 类的服务:
在每个插入方法中,我都有 insertOrReplaceInTx,我主要使用它来提高性能。
如果任何方法无法检索数据,我需要放弃结果。它应该通过相同的交易来完成。
mDaoSession.callInTx(callable)
我想知道在方法内部包含我的插入方法调用是否正确insertOrReplaceInTx
。我对吗?
此外,如果引发异常,我如何放弃交易 - 它是通过 greenDao 自动完成的吗?
android - greendao:调试查询的方法?
有什么方法可以让正在对 Logcat 执行的greendao吐出查询?我只是想确保一切正常,在习惯系统的同时拥有它是一个很好的功能。
android - 将正确的上下文传递给 greendao 的 OpenHelper 构造函数
如果我理解正确,在使用 DB 时,我必须执行以下操作
但是,如果我尝试在不扩展活动或服务的类中执行此操作,我根本无法传递它们的上下文。
打开我的数据库的正确方法是什么?应该在哪里做?
如果你能提供除官方greendao之外的一些教程链接(我在那里找不到答案),那就太好了。
android - 封闭数据库;自动同步导致“尝试重新打开已经关闭的对象:SQLiteDatabase”异常
我正在使用 GreenDAO ORM 创建一个 Android 应用程序,在此之上具有一个通用的 crud 服务层。我有一个包含对我的 DaoMaster 以及我的 SQLiteDatabase 的静态引用的单个文件:
启动应用程序时,我调用 DATABASE.Initialize(),当我的主 Activity 被销毁时,我调用 DATABASE.CloseDatabase()。当应用程序首次启动时,它会执行初始同步,并且检索到的实体通过它们各自的 crud 服务实例发送,该实例处理各自的 DAO 以将实体持久保存到该数据库中,如下所示。
但是,即使应用程序未运行,我的定期同步也需要访问此数据库。几个同步将经常运行。当同步运行时,在从同步调用的类中,我调用 DATABASE.Initialize(),但是当它到达我的第一个 crud 服务查询时,它给了我这个错误:
如果有人可以帮助我找出我做错了什么,将不胜感激。我基本上只需要知道两件事:
1)由于我在 DATABASE.java 中的变量是静态的,它们将被缓存直到 GC 运行。我可以/应该调用 GC 或 finalize(),还是只需要在 CloseDatabase() 中将它们设置为 null?
2)我什至可以关闭我的数据库,因为我的同步依赖于它,如果我不关闭它,我不会遇到泄漏吗?
提前致谢。
编辑:我环顾四周,了解到静态变量实际上确实会持续到 GC 运行。所以,我改写了#1。
编辑 2:我已经更新了我的 DATABASE.java 和对其 Initialize 方法的调用以使用应用程序上下文,它似乎已经清除了一切。当同步重新运行时,我现在在第一个 crud 服务查询中收到 NullPointerException。
编辑 3:空指针异常现已修复。我不小心导致它打开了一个新数据库并且其中不存在实体。