问题标签 [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.
android - 如何在领域中保存外部库的对象?
我知道我需要在领域中的所有对象上扩展 RealmObject,以便创建数据库,但我使用谷歌地图,因此我在需要存储在领域中的对象中有一个 LatLng 列表。LatLng 是一个谷歌地图类,因此我无权访问 .java 文件,因此我无法创建扩展 RealmObject 的该对象的副本。有没有人找到解决这个问题的方法,有可能吗?
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(等)的守恒方法时如何考虑属性?
realm - 如果我设置 realm=null 而不是 realm.close() 会发生什么
从评论中realm.isClosed()
- 务必记住在完成后关闭 Realm 实例,以免泄漏内存、文件描述符或增大 Realm 文件的大小。
那么,如果我不使用realm.close()
method 而是使用 set 会发生什么realm=null
。
android - 为标签实现领域设计
我知道 Realm 是 NoSQL 并且不支持连接操作。目前,我的 MySQL 数据库有这样的表 -
如何为这种类型的表结构实现领域模型?
java - Realm createOrUpdateAllFromJson 创建 RealmModel 对象而不持久化?
我很高兴在我正在开发的 Android 应用程序中使用领域 Java。我JSONObject
从服务器 API 接收数组,领域尽职尽责地通过createOrUpdateAllFromJson
主领域实例对象上的便利来摄取它们。
典型的流程如下所示:
但是,我现在遇到了一种情况,我想创建一个临时的内存中相同MyCoolModel
对象的数组,而不将它们实际保存到 Realm,因为我想在特定用例完成后立即将它们扔掉. 在我看来createOrUpdateAllFromJson
,它的兄弟方法仅在主领域实例对象上可用。
有什么方法可以利用这种方便JSON
的对象模型创建者,还是我必须编写一个带有手动/自动 JSON 解析的替代实现?
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 - 我知道我的问题是描述性的,但我找不到办法做到这一点。
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 的对象?
android - 从没有主键的json插入领域
我有一个像这样的大 JSONArray
我有一个对象:
我想像这样将 JSON 添加到领域:
但是正如您所见,JSON 中没有 local_id,并且领域无法在没有 PrimaryKey 的情况下添加 JSON,那么有没有办法在不更改的情况下添加我的 JSON?
并且 local_id 只是一个自动增量列。
realm - 如何删除领域中的前n行
假设有一个名为RecentViewItem的表,它存储用户最近查看的项目。我想通过删除所有其他项目仅保留前 10 个最近查看的项目。我的查询是这样的:
realm - 如何从领域获取内存中的前 n 行
我只想使用copyFromRealm方法将内存中的前 10 行或可能的 n 行作为 java 列表。像这样考虑:
更新: 由于 RealmResult 扩展了 AbstractList -