安装包 io.realm

RealmSchema 类


  • public abstract class RealmSchema
    extends Object
    用于与 Realm 模式交互的类。 这样就可以检查、添加、删除和更改 Realm 中的类。

    Realm.getSchema()返回一个不可变的RealmSchema ,只能用于检查。 使用DynamicRealm.getSchema()获取可变模式。

    所有更改都必须在特定 Realm 的写事务中发生。

    另请参阅:
    RealmMigration
    • 方法详细信息

      • createWithPrimaryKeyField

        public abstract RealmObjectSchema createWithPrimaryKeyField​(String className,
                                                                    String primaryKeyFieldName,
                                                                    Class<?> fieldType,
                                                                    FieldAttribute... attributes)
        向 Realm 添加一个新类,并定义主键字段。
        参数:
        className - 类的名称。
        primaryKeyFieldName — 主键字段的名称。
        fieldType — 要添加的字段类型。 仅支持byteshortintlong及其装箱类型或String
        attributes — 此字段的属性集。此方法隐式向字段添加FieldAttribute.PRIMARY_KEYFieldAttribute.INDEXED属性。
        返回:
        该类的 Realm 模式对象。
        抛出异常:
        UnsupportedOperationException - 如果此RealmSchema不可变。
      • 删除

        public abstract void remove​(String className)
        从 Realm 中删除类。 所有数据都将被删除。 当其他类指向某个类时,删除该类会抛出IllegalStateException 。 首先删除这些类或字段。
        参数:
        className - 要删除的类的名称。
        抛出异常:
        UnsupportedOperationException - 如果此RealmSchema不可变或属于同步 Realm。
      • 改名

        public abstract RealmObjectSchema rename​(String oldClassName,
                                                 String newClassName)
        重命名 Realm 中已有的类。
        参数:
        oldClassName — 旧类名。
        newClassName — 新类名。
        返回:
        重命名的类的模式对象。
        抛出异常:
        UnsupportedOperationException - 如果此RealmSchema不可变或属于同步 Realm。
      • contains

        公共布尔包含​(字符串类名)
        检查给定类是否已存在于模式中。
        参数:
        className — 要检查的类名。
        返回:
        true 如果该类已经存在。 否则false
      • createKeyPathMapping

        public void createKeyPathMapping()
        创建底层键路径映射。 只能由类型化 Realm 调用。