Docs 菜单

Docs 主页开发应用程序Atlas Device SDKs

打开 Realm 文件

在此页面上

  • 概述
  • 打开本地 Realm 文件
  • 查找 Realm 文件
  • 从 CSV 创建
  • 浏览至“从 CSV 创建 Realm”选项
  • 打开您的 CSV 文件
  • 选择导入数据的存储位置
  • 向 Realm 添加更多数据
  • 下载示例
  • 打开 Realm 文件时出错

如果您有通过运行客户端应用程序创建的本地 Realm 文件,则可以在 Realm Studio 中打开该文件。

如果您还没有 Realm 文件,可以通过导入 CSV 创建一个 Realm 文件,或者也可以下载一个演示文件。

您可以使用 Realm Studio 打开并浏览本地 Realm 文件。这可以是通过在本地计算机上运行模拟器生成的文件,也可以是来自其他来源的文件。某些开发工具甚至允许您在模拟器运行过程中查看和编辑 Realm 文件。此工作流支持对对象和模式的更改进行快速、简单的迭代。

Realm 将每个对象和类型的二进制编码版本存储在单个 Realm 文件中。该文件位于您在打开 Realm 时定义的特定路径。

要找到您的默认 Realm 文件路径,请执行以下操作:

当您知道本地 Realm 文件的位置后,您可以在 Open Realm file(打开 Realm 文件)对话框中浏览到该位置。

注意

隐藏路径中的文件

在 MacOS 上,Xcode 模拟器文件的默认位置位于 ~/Library 文件夹下。默认情况下,这是一个隐藏目录。您可能无法从 Open Realm file(打开 Realm 文件)对话框中浏览到该位置。

请使用另一种技术来查看文件,例如 Finder 中的 Go to Folder,然后从其中打开 Realm。

如果您没有本地 Realm 文件,您可以在 Realm Studio 中从 CSV 创建一个 Realm 文件。

当您从 CSV 创建 Realm时,Realm Studio 会推断出以下详细信息:

  • CSV 的名称将成为 Realm 文件中的类名

  • CSV 的第一行将成为 Realm 中的类属性名称

  • 每列的值决定类属性类型。包含“true”和“false”值的列将成为布尔属性类型。全部包含整数的列将成为整数属性类型,依此类推。如果 Realm Studio 无法确定属性类型,则它将成为字符串。

例如,一个名为 data.csv 的 CSV 具有以下格式:

1device,number,flag
2gizmo,1,TRUE
3widget,2,FALSE

成为一个名为 data 的类模型,具有以下三个属性:

  • device,类型为 string

  • number,类型为 int

  • flag,类型为 bool

1

在 Realm Studio 中,请移步: File > Create Realm from > CSV

2

浏览到您 CSV 文件的位置,然后将其选中。

Open 按钮。

3

输入将从 CSV 创建的 Realm 文件的名称。

浏览到要保存的位置。

Save 按钮。

4

从 CSV 创建新 Realm 文件时,您可能会收到以下消息:

“导入数据失败:模式中缺少类名 (name-of-file.csv)”

如果出现这种情况,请点击 OK(确定)。您将看到从 CSV 创建 Realm 的操作创建了类定义,但 Realm 中没有对象。这时,您可以执行从 CSV 导入,以使用映射到您刚才创建的类定义的对象来填充 Realm。

如果您刚接触 Realm 并且没有要导入的 Realm 文件或 CSV,您仍然可以尝试使用 Realm Studio。

当您打开 Realm Studio 时,您将看到一个Download a demo Realm file的选项。

当您单击 Realm Studio 中的链接下载演示文件时,您可以指定名称和位置以便保存包含演示数据的 Realm 文件。下载文件后,您可以使用 Open Realm file(打开 Realm 文件)对话框将其打开。

如果您在尝试打开 Realm 文件时遇到错误,这可能是由于 Realm Studio 支持的 Realm 文件格式与 SDK 生成的 Realm 文件格式之间的版本不匹配。

要验证兼容性,请查看您的 SDK 版本或 Realm Studio 版本 的发布说明 。您可能需要升级或降级 Realm Studio 或 Realm SDK 版本。

这些错误消息可能类似于以下内容:

Realm file is currently open in another process which cannot share access
with this process. All processes sharing a single file must be the same
architecture.
The file is already opened by another process, with an incompatible
lock file format. Try up- or downgrading Realm Studio or SDK to match
their versions of Realm Core.
← 使用 Device Sync 查看 Atlas 数据