我已经通过领域创建了一个DB,我无法找到文件,因为我的操作系统(Yosemite)在/private/var/mobile中没有移动文件夹。

我应该如何访问我的领域以在浏览器中运行?

交叉张贴从谷歌组


当前回答

正确的(lldb)命令是:Realm.Configuration.defaultConfiguration.path。

其他回答

首先,我承认这是一个Android线程,但这是这个问题的第一个搜索结果。

要在Realm Browser中打开最近创建的Xcode Simulator Realm db,你可以在Automator中使用这个脚本,或者在终端中全部输入。通过使用Automator,我可以一键访问我的当前领域。

    cd ~/Library/Developer/CoreSimulator/Devices/
    cd `ls -t | head -n 1`/data/Containers/Data/Application
    cd `ls -t | head -n 1`/Documents    
    open -a 'Realm Browser' ./default.realm

安装Realm浏览器。 在Automator中,单击新建,选择运行Shell脚本,粘贴代码,更改Realm Db名称,单击运行测试,将文件保存到方便快速点击访问的地方。

我不知道我第一次在哪里找到这个技巧,但这个帖子提醒了我过去是如何访问我的实时数据的。

Swift 2.3解决方案

更简单的解决方案,不会打破与领域更新

    let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
    print("App Path: \(dirPaths)")

realm文件应该在Documents中

这里有一个简单的解决办法。我搞砸了一段时间。我要指出的是,这是一组使用Android Studio和AVD模拟器的特定指令。

1)启动模拟器并运行应用程序。

2)当应用程序仍在运行时,打开Android设备监视器。(它在工具栏旁边的AVD和SDK管理器图标)

3)在“设备监控”中单击“文件资源管理器”页签。应该有很多文件夹。

4)进入如下路径:数据>数据>您的包名>文件>默认。王国(或者其他你命名的地方)

例如,如果你正在使用一个领域示例项目,路径将是类似于Data>Data>io.realm.examples.realmgridview>files>default.realm

5)选中文件,点击右上角的软盘图标“从设备中提取文件”

6)把它保存到任何你想要的地方。

我在这方面更进一步。 我已经创建了一个名为RealmFunctions的swift文件,并在其中创建了这个函数

    import RealmSwift
    func realmAndPath() -> Realm {
        if dev {
            // location of my desktop
            return try! Realm(path: "/Users/slynch/Desktop/TestRealm.realm")
        } else {
            return try! Realm()
        }
    }

现在在我的主视图控制器中,我有一个全局布尔变量叫做dev

var dev: Bool = true // when in development mode
var dev: Bool = false // when I want to run on my device or upload to app stor.

现在,我在代码中要做的就是

let realm = realmAndPath()

因此,当处于开发模式时,我可以在桌面上找到我的领域数据库,并可以在领域浏览器中打开。

上面的答案是在Android平台上找不到领域文件的方法,相信我,这种方法会节省你很多时间,而我们通常用其他方法来获取领域文件。让我们开始…

首先在android studio中打开“设备文件资源管理器”(查看-> Tools Windows) ->设备文件资源管理器。

这将打开您的设备资源管理器。

现在打开data -> data -> (your_app_package_name) -> files -> default.realm

违约。Realm是我们在这里的文件。现在Save_as这个文件在您的位置,并从realm_browser访问该文件,您将得到您的数据库。

注意:上述方法是在非root手机(1 +3)上测试的。