初期データは、レルムが最初に作成されたか、マイグレーションが必要だったし、そのための設定が設定されたため、レルムが削除された場合に実行パラメータとして取引をとります。
ここは基本的な例です。
public class RealmInitialData implements Realm.Transaction {
@Override
public void execute(Realm realm) {
Book book = new Book();
book.setId(1);
book.setAuthor("Reto Meier");
book.setTitle("Android 4 Application Development");
book.setImageUrl("http://api.androidhive.info/images/realm/1.png");
realm.insertOrUpdate(book);
book.setId(2);
book.setAuthor("Itzik Ben-Gan");
book.setTitle("Microsoft SQL Server 2012 T-SQL Fundamentals");
book.setImageUrl("http://api.androidhive.info/images/realm/2.png");
realm.insertOrUpdate(book);
book.setId(3);
book.setAuthor("Magnus Lie Hetland");
book.setTitle("Beginning Python: From Novice To Professional Paperback");
book.setImageUrl("http://api.androidhive.info/images/realm/3.png");
realm.insertOrUpdate(book);
book.setId(4);
book.setAuthor("Chad Fowler");
book.setTitle("The Passionate Programmer: Creating a Remarkable Career in Software Development");
book.setImageUrl("http://api.androidhive.info/images/realm/4.png");
realm.insertOrUpdate(book);
book.setId(5);
book.setAuthor("Yashavant Kanetkar");
book.setTitle("Written Test Questions In C Programming");
book.setImageUrl("http://api.androidhive.info/images/realm/5.png");
realm.insertOrUpdate(book);
}
@Override
public int hashCode() {
return RealmInitialData.class.hashCode();
}
@Override
public boolean equals(Object obj) {
return obj != null && obj instanceof RealmInitialData;
}
}
ありがとうございます。私のユースケースでは、エクササイズ用の大規模な管理データセットがあります.100としましょう。オブジェクトを保存するための100の定義を作成することは現実的なアプローチのようではありません。 'execute'メソッドで提案したものと似たようなことを行い、CSVなどからデータを読み込む方法を理解したいと思うかもしれません。 – justinraczak
N個のオブジェクトを保存するためにアンマネージオブジェクトを1つだけ使用する方法を示すコードを少し修正しました – EpicPandaForce
私はJSONを使いたいのですが、最初のインスタンス化を超えてデータを維持することができます。私はアプローチを投稿します。 – justinraczak