2016-09-28 11 views
1

私はフィットネス追跡のための基本的なプロジェクトに取り組んでいます。私は、ユーザーのために用意されたエクササイズライブラリでアプリを初期化したい。どのようにデータを提供し、データベースにデータを入れるためのトランザクションを設定しますか?私は以下の答えを見てきましたが、答えで定義された例を実際に設定する方法を見つけることができませんMyInitialDataRealmTransactionレルムデータベースに標準データをシードする方法は?

ありがとうございました。

How can I create a Realm database with initial data for my android app?

答えて

0

初期データは、レルムが最初に作成されたか、マイグレーションが必要だったし、そのための設定が設定されたため、レルムが削除された場合に実行パラメータとして取引をとります。

ここは基本的な例です。

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; 
    } 
} 
+0

ありがとうございます。私のユースケースでは、エクササイズ用の大規模な管理データセットがあります.100としましょう。オブジェクトを保存するための100の定義を作成することは現実的なアプローチのようではありません。 'execute'メソッドで提案したものと似たようなことを行い、CSVなどからデータを読み込む方法を理解したいと思うかもしれません。 – justinraczak

+0

N個のオブジェクトを保存するためにアンマネージオブジェクトを1つだけ使用する方法を示すコードを少し修正しました – EpicPandaForce

+0

私はJSONを使いたいのですが、最初のインスタンス化を超えてデータを維持することができます。私はアプローチを投稿します。 – justinraczak

関連する問題