我在应用程序中使用Realm作为后端。我创建了一个名为Setting的表。我按照Realm官方网站上给出的步骤在该表中添加了值。
但是,当我要从该表中检索值时,出现异常



实际上,我是android和Realm的新手,所以很难理解什么是问题。

最佳答案


Realm.init(context);
RealmConfiguration config = new RealmConfiguration
                                     .Builder()
                                     .deleteRealmIfMigrationNeeded()
                                     .build();

注意:使用此配置选项,任何架构更改都将导致丢失数据,特别是:
  • 添加/删除了一个字段
  • 添加了一个新的RealmObject类
  • 现有RealmObject已删除
  • @Required已添加/已删除
  • @PrimaryKey已添加/已删除
  • @Index已添加/已删除

  • 因此,主要建议在应用处于开发阶段时使用。

    或根据官方文档添加迁移:

    https://realm.io/docs/java/latest/#migrations

    例如,
    public class Migration implements RealmMigration {
        @Override
        public void migrate(final DynamicRealm realm, long oldVersion, long newVersion) {
            RealmSchema schema = realm.getSchema();
    
            if (oldVersion == 0) {
                RealmObjectSchema personSchema = schema.get("Person");
                personSchema
                    .addField("fullName", String.class, FieldAttribute.REQUIRED);
                oldVersion++;
                ...
    
      // hash code, equals
    


    Realm.init(context);
    RealmConfiguration config = new RealmConfiguration.Builder()
                                     .migration(new Migration())
                               //      .deleteRealmIfMigrationNeeded()
                                     .build();
    

    09-04 13:25