如何使用标准数据播种Realm数据库?

时间:2016-09-28 22:52:33

标签: java android realm

我正在研究健身追踪的基本项目。我想用为用户准备的练习库初始化应用程序。如何提供数据并设置事务来填充数据库?我已经看到了下面的答案,但我找不到如何实际设置示例,在答案中定义为MyInitialDataRealmTransaction

提前感谢任何见解。

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

2 个答案:

答案 0 :(得分:0)

初始数据将事务作为参数运行,如果首次创建Realm或删除Realm,则运行该参数,因为需要迁移并设置了该配置。

这是一个基本的例子。

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

答案 1 :(得分:-1)

检出this Java库以生成伪造数据。组织得井井有条,也节省了很多时间。