質問: bis.read(buffer)) > 0) { bos.write(buffer, 0, size); } bos.flush(); } catch (IOException ioe) { ioe.printStackTrace(); } } // Realm取得メソッド public Realm getRealmInstance() { return Realm.getInstance(new RealmConfiguration.Builder() .name("abc.realm") .deleteRealmIfMigrationNeeded() .build()); } ``` ### 試したこと コピー用メソッドによりabc.realmがAssetsから/data/data/(パッケージ名)/filesに正しくコピーされていることは確認済み(サイズ一致)。 RealmのInstanceを取得すると、/data/data/(パッケージ名)/files配下にあるabc.realmのサイズが8192byteに変わる(上書きされている?)。 先にRealm.getInstance()でファイルを作成し、そのファイルにAssetsのRealmファイルの内容をコピーしても、再度Realm.getInstance()すると8192byteに戻る(データが消える)。 RealmConfigurationのassetFile()からのコピーを試みたが、Migrationが必要と言われる。(Caused by: io.realm.exceptions.RealmMigrationNeededException: The 'XXXXX' class is missing from the schema for this Realm.) ※ 開発環境につき、逐一Migrationの処理を実装していくのも好ましくないのではと考えています。 ※ Realmを完全に初期化する方法があれば、合わせてご教示願います。 ### 補足情報(言語/FW/ツール等のバージョンなど) Android Studio 2.3.3 JDK 1.8.0 Gradle Version 3.3 io.realm:realm-gradle-plugin:3.5.0
回答: 関係ないモデルを削除することで、assetFile()が有効になりました。