我有一个名为Post的模型类 package com.example.sudeepbajracharya.assignment.entity;
import com.google.gson.annotations.SerializedName;
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;
public class Post extends RealmObject {
@SerializedName("userId")
private int userId;
@SerializedName("id")
private int id;
@SerializedName("title")
private String title;
@SerializedName("body")
private String body;
public void setUserId(int userId) {
this.userId = userId;
}
public void setId(int id) {
this.id = id;
}
public void setTitle(String title) {
this.title = title;
}
public void setBody(String body) {
this.body = body;
}
public int getUserId() {
return userId;
}
public int getId() {
return id;
}
public String getTitle() {
return title;
}
public String getBody() {
return body;
}
}
之前我在id中使用过@primaryKey。但现在我不想使用这个主键,所以我想重新给它。我删除了关键字@primarykey,如上所示,但是当我尝试运行我的应用程序时,它会说....' Post'有一个主键,使用' createObject(Class,Object)'代替。请问有谁能告诉我如何解决这个问题?如何从模型类中完成删除主键?
答案 0 :(得分:0)
您需要为Realm模型添加迁移。
每当您添加/删除字段,或向字段添加/删除Realm注释(例如@PrimaryKey或@Required或其他)时,都需要执行此操作
这样您就可以保留所有数据,只需更改所有已保存的数据