我在构建具有自定义类的Realm对象时遇到问题。
@Parcel(
value = Parcel.Serialization.BEAN,
analyze = { Message.class })
@RealmClass
public class Message implements Comparable<Message>, RealmModel {`
@PrimaryKey
@Index
private long id;
@JsonProperty("thread_id")
long threadId;
@JsonProperty("message")
public String message;
@JsonProperty("user")
public User user;
...
}
当服务器发送json响应时,尝试使用
解析为Message realm对象realm.createObjectFromJson(MesssageMessage.class, JSONObject)
问题是用户。我收到了编译错误&#34;不支持提交的用户&#34;。
下面是User类,它不是域对象。
@JsonIgnoreProperties("incomplete_signed_up")
public class User implements KeepClassFromProguard, Parcelable {
public static final Parcelable.Creator<User> CREATOR = new
Parcelable.Creator<User>() {
@Override
public User createFromParcel(Parcel in) {
return new User(in);
}
@Override
public User[] newArray(int size) {
return new User[size];
}
};
public long id;
@JsonProperty("account_id")
private long accountId;
@JsonProperty("display_name")
public String display_name;
@JsonProperty("nick_name")
public String nickname;
@JsonProperty("user_detail")
public UserDetail userDetail;
...
}
我看了https://gist.github.com/cmelchior/ddac8efd018123a1e53a和http://parceler.org/#getting_parceler,但我还没有得到答案。 我无法将每个类更改为领域对象,因为它们都有另一个自定义类。
有谁知道这是如何处理的?希望有任何好的例子。 感谢。
答案 0 :(得分:1)
RealmModel
中的所有引用都必须引用其他RealmModel
类。这是我们坚持不懈的唯一方式。
您可以@Ignore
user
字段,但Realm不会保存它。