问题标签 [realm-java]

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.

0 投票
1 回答
446 浏览

android - 如何在领域中保存外部库的对象?

我知道我需要在领域中的所有对象上扩展 RealmObject,以便创建数据库,但我使用谷歌地图,因此我在需要存储在领域中的对象中有一个 LatLng 列表。LatLng 是一个谷歌地图类,因此我无权访问 .java 文件,因此我无法创建扩展 RealmObject 的该对象的副本。有没有人找到解决这个问题的方法,有可能吗?

0 投票
2 回答
3983 浏览

java - 将 Realm 与 Gson 一起使用

我有json字段_id

在我的领域模型中,我使用@SerializedName属性:

如果尝试保存 json:

realm.createOrUpdateObjectFromJson(User.class, json)

字段_id无法解析,并且在数据库中创建了 id = 0 的记录

@SerializedName在使用属性的文档中

在这种情况下json = "{ _id : 1, role: 'user' }",只需从数据库中删除用户name,因为 String 的默认值为 null。

所以,可能我错误地使用了该属性。createOrUpdateObjectFromJson处理json(等)的守恒方法时如何考虑属性?

0 投票
1 回答
97 浏览

realm - 如果我设置 realm=null 而不是 realm.close() 会发生什么

从评论中realm.isClosed()

  • 务必记住在完成后关闭 Realm 实例,以免泄漏内存、文件描述符或增大 Realm 文件的大小。

那么,如果我不使用realm.close()method 而是使用 set 会发生什么realm=null

0 投票
1 回答
107 浏览

android - 为标签实现领域设计

我知道 Realm 是 NoSQL 并且不支持连接操作。目前,我的 MySQL 数据库有这样的表 -

如何为这种类型的表结构实现领域模型?

0 投票
3 回答
690 浏览

java - Realm createOrUpdateAllFromJson 创建 RealmModel 对象而不持久化?

我很高兴在我正在开发的 Android 应用程序中使用领域 Java。我JSONObject从服务器 API 接收数组,领域尽职尽责地通过createOrUpdateAllFromJson主领域实例对象上的便利来摄取它们。

典型的流程如下所示:

但是,我现在遇到了一种情况,我想创建一个临时的内存中相同MyCoolModel对象的数组,而不将它们实际保存到 Realm,因为我想在特定用例完成后立即将它们扔掉. 在我看来createOrUpdateAllFromJson,它的兄弟方法仅在主领域实例对象上可用。

有什么方法可以利用这种方便JSON的对象模型创建者,还是我必须编写一个带有手动/自动 JSON 解析的替代实现?

0 投票
1 回答
1664 浏览

android - 如何对 Android 中的现有领域数据库应用加密?

我已经完成了这个问题和类似的问题,但我仍然无法弄清楚这一点。

早些时候我SQLite用于我的android应用程序。预填充的 Sqlite数据库的大小约为 15 MB。我制作了一个临时的 android 应用程序,将我的记录复制到一个新的 Realm 数据库中。这个新的 Realm 数据库的大小约为 150 MB。然后我用Mac中的Realm浏览器打开它并压缩它。大小现在减少到 15 MB。

但是,如果我在创建新数据库并将sqlite行复制到其中时使用加密,则大小约为 150 MB。当我使用十六进制密码打开它时,它可以正常打开。然后我像之前一样压缩它-> 大小恢复到正常的 15 MB。但是,我不知道为什么,加密现在被删除了

为了解决这个问题,我只能想到一种解决方案。如果我可以对已经压缩的 Realm 数据库应用加密。但是,我想不通,如何在 Android 中做到这一点?

编辑 - 一些相关部分 -

第1部分 -

第2部分 -

将加密数据库转换为压缩数据库->我从android模拟器中提取了这个领域数据库->在领域浏览器中打开它(使用十六进制密码)->压缩(但是这个新创建的压缩数据库现在没有加密)

PS - 我知道我的问题是描述性的,但我找不到办法做到这一点。

0 投票
1 回答
590 浏览

android-sqlite - 在 Realm 中存储关系 (Java)

我开始使用 Realm 在我的 Android 应用程序中存储对象。这是我要存储的示例:

我有多个显示项目的列表。列表的数量可以不断扩大(用户可以创建尽可能多的列表。

假设用户创建了一个名为“Best”的列表。当我查看从 APIgetItems("Best")获取的“最佳”列表时,我调用了该列表。List<Items>我现在必须弄清楚如何存储这个列表。例如,在 SQLite 世界中,我将创建一个新表“custom_list_best”,它只是列表中所有 Item.id 的单个列表。我还会有一个包含所有不同项目的“项目”表。要获得最佳列表中的项目,我只需对最佳和项目表进行连接查询。

在 Realm 世界中,我试图弄清楚 Realm 是如何工作的,以及构建模型的最佳方式是什么。

我最初认为我可以创建一个名为CustomList

然后我会存储一个RealmList<CustomList>. 但唯一的问题是我还希望能够查询所有项目。所以我还需要将 a 存储RealmList<Item>在 Realm 中。在这种情况下,Realm 是如何工作的?如果我存储一个单独的RealmList<Item>然后存储每个RealmList<CustomList>它不会重复数据吗?

相反,我必须通过这样做来手动处理这个问题:

然后Item.class从上面的对象中查询在 itemIds 中有 itemId 的对象?

0 投票
0 回答
471 浏览

android - 从没有主键的json插入领域

我有一个像这样的大 JSONArray

我有一个对象:

我想像这样将 JSON 添加到领域:

但是正如您所见,JSON 中没有 local_id,并且领域无法在没有 PrimaryKey 的情况下添加 JSON,那么有没有办法在不更改的情况下添加我的 JSON?
并且 local_id 只是一个自动增量列。

0 投票
2 回答
1013 浏览

realm - 如何删除领域中的前n行

假设有一个名为RecentViewItem的表,它存储用户最近查看的项目。我想通过删除所有其他项目仅保留前 10 个最近查看的项目。我的查询是这样的:

0 投票
0 回答
932 浏览

realm - 如何从领域获取内存中的前 n 行

我只想使用copyFromRealm方法将内存中的前 10 行或可能的 n 行作为 java 列表。像这样考虑:

更新: 由于 RealmResult 扩展了 AbstractList -