初始Realm 文件

乐趣 初始RealmFile(assetFile : String , sha256checkSum : String ? = null): S

使用捆绑的资产 Realm 文件初始化 Realm 文件。

首次打开 Realm 时,Realm 文件将从给定的assetFile进行初始化。 仅当路径中的 Realm 文件尚不存在时才会发生这种情况。

在平台的常规位置查找捆绑资产/资源的资产文件:

  • Android:通过 android.content.res.AssetManager.open(assetFilename)

  • Java虚拟机(JVM):类.javaClass.classLoader.getResource(assetFilename)

  • 达尔文:NSBundle.mainBundle.pathForResource(assetFilenameBase, assetFilenameExtension) 开发者有责任将文件放在适当的位置。

它不能与inMemoryRealmConfiguration.Builder.deleteRealmIfMigrationNeeded结合使用。 尝试这样做将导致构建抛出IllegalStateException

注意:这可能是一个冗长的操作,因此打开具有预定义资产文件的 Realm 最好在背景线程上完成。注意:目前无法防止多个进程尝试同时就地复制资产文件,因此用户必须确保一次只有一个进程尝试trigger此操作。

参数

资产 文件

平台默认资产/资源位置中 assetFile 的名称。 如果在首次打开 Realm 时找不到资产文件, Realm.open将失败并抛出一个IllegalArgumentException异常。

sha256 check Sum

用于验证资产文件完整性的 SHA 256-校验和。如果指定了此项,并且在第一次打开 Realm 时,如果校验和与资产文件的计算出的校验和不匹配,则Realm.open将失败并抛出一个IllegalArgumentException异常。

抛出异常

如果使用空assetFile进行调用。