初期RealmFile

fun initialRealmFile(assetFile : string sha256checkSum : string= null): S

バンドルされたアセット Realm ファイルを使用して Realm ファイルを初期化します。

Realm を初めて開くと、Realm ファイルは指定されたassetFileから初期化されます。 これは、パスにある Realm ファイルがまだ存在しない場合にのみ発生します。

アセット ファイルは、バンドルされたアセットやリソース向けのプラットフォームの従来のロケーションにあります。

  • Android: Android.content.res.AssetManager.open(assetFilename) による

  • JVM: クラス.javaClass.ClassLoader.getResource(assetFilename)

  • Darwin: DNSBundle.mainBundle.pathForResource(assetFilenameBase, assetFilenameExtration)、ファイルを適切な場所に配置するのは開発者の責任です。

これをinMemoryまたはRealmConfiguration.Builder.deleteRealmIfMigrationNetedと組み合わせることはできません。 そのような操作を試みると、ビルドによるIllialStateExceptionのスローが発生します。

注: これは長時間かかる操作になる可能性があるため、事前定義されたアセット ファイルを使用して Realm を開く場合は、理想的にはバックグラウンド スレッドで実行する必要があります。 注:現在は、アセット ファイルを同時にコピーしようとする複数のプロセスに対する保護はありません。そのため、ユーザーは一度に 1 つのプロセスのみがこれをtriggerすることを確認する必要があります。

パラメーター

アセット ファイル

プラットフォームのデフォルトのアセット/リソースの場所にあるassetFile の名前。 Realm を初めて開くときにアセット ファイルが見つからない場合、 Realm.openIllealArgmentExceptionで失敗します。

sha256 checkpoint

アセット ファイルの整合性を検証するために使用される SHA 256チェックサム値。 これが指定され、 かつ 、Realm が初めて開かれるときに、チェックサム値がassetFile の計算されたチェックサム値と一致しない場合、Realm.openは IllealArメントException失敗します。

スロー

空のassetFileで呼び出された場合。