我已经通过领域创建了一个DB,我无法找到文件,因为我的操作系统(Yosemite)在/private/var/mobile中没有移动文件夹。
我应该如何访问我的领域以在浏览器中运行?
交叉张贴从谷歌组
我已经通过领域创建了一个DB,我无法找到文件,因为我的操作系统(Yosemite)在/private/var/mobile中没有移动文件夹。
我应该如何访问我的领域以在浏览器中运行?
交叉张贴从谷歌组
当前回答
正确的(lldb)命令是:Realm.Configuration.defaultConfiguration.path。
其他回答
我在这方面更进一步。 我已经创建了一个名为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()
因此,当处于开发模式时,我可以在桌面上找到我的领域数据库,并可以在领域浏览器中打开。
在斯威夫特
func getFilePath() -> URL? {
let realm = try! Realm()
return realm.configuration.fileURL
}
如果你得到“输入加密密钥”对话框错误:
我使用的是Swift 2.1和Realm 0.96.2,在试图打开数据库文件时出现了这个错误:
“default”无法打开。可能是加密的,也可能不是 兼容的文件格式。如果你知道文件是加密的,你就可以 手动输入加密密钥打开。
发现使用Realm Browser 0.96的预发布版本修复了这个问题:
https://github.com/realm/realm-browser-osx/releases/tag/0.96-prerelease
最新领域的更新答案:
为Android:
检查stetho和https://github.com/uPhyca/stetho-realm 视频教程在这里:https://www.youtube.com/watch?v=9pFJz5VexRw
适用于IOS (Swift)
:
debugPrint("Path to realm file: " + realm.configuration.fileURL!.absoluteString)
or
步骤1:在某个地方设置一个名为dev的常量。我们说常量文件
public class Constants {
public static var dev: Bool = true
}
步骤2:创建另一个名为RealmFunctions.swift的类
import RealmSwift
func realmAndPath() -> Realm {
if Constants.dev {
// location of my desktop
let testRealmURL = NSURL(fileURLWithPath: "/Users/#####/Desktop/TestRealm.realm")
return try! Realm(fileURL: testRealmURL)
} else {
return try! Realm()
}
}
第三步:最后在你的视图控制器中:
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)上测试的。