如何使用标准数据创建Realm数据库?

问题描述:

我正在开展健身追踪的基础项目。我想用为用户准备的练习库初始化应用程序。你如何提供数据并设置事务来填充数据库?我在下面看到了答案,但我找不到如何实际设置示例,在答案中将其定义为MyInitialDataRealmTransaction如何使用标准数据创建Realm数据库?

在此先感谢您的任何见解。

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

初始数据取交易作为第一,如果创建境界或境界被删除,因为需要迁移和用于该配置设定运行的参数。

这里是一个基本的例子。

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

我修改了一下代码,展示了如何仅使用1个非托管对象来保存N个对象。 – EpicPandaForce

+0

我把一个我喜欢使用JSON的解决方案放在一起,它允许您在第一个实例化之外还维护数据。我会发布该方法。 – justinraczak