Java 带改装的Realm.io
我正在尝试将改装对象存储在Java 带改装的Realm.io,java,android,retrofit,realm,Java,Android,Retrofit,Realm,我正在尝试将改装对象存储在Realm.iodb中。我已经关注了这个片段,但仍然有一些问题。在此方面的任何帮助都将不胜感激 我的代码是 自定义GSON解析器 import com.google.gson.ExclusionStrategy; import com.google.gson.FieldAttributes; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import io.realm.RealmObj
Realm.io
db中。我已经关注了这个片段,但仍然有一些问题。在此方面的任何帮助都将不胜感激
我的代码是
自定义GSON
解析器
import com.google.gson.ExclusionStrategy;
import com.google.gson.FieldAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import io.realm.RealmObject;
public class CustomGsonParser {
public static Gson returnCustomParser(){
Gson gson = new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.create();
return gson;
}
}
什么不起作用?
realm.beginTransaction();List realmObjects=realm.copyToRealmOrUpdate(学院);realm.commitTransaction()
崩溃,我认为这是一个堆栈溢出错误,如果Gson配置不正确,您会遇到这个错误,但从您的代码来看,您使用的似乎是正确配置的Gson实例。只是想补充一点,我在设备上测试了它,它成功了,基于api 22创建了一个新的仿真器,它工作了。什么不工作?realm.beginTransaction();List realmObjects=realm.copyToRealmOrUpdate(学院);realm.commitTransaction()
崩溃,我认为这是一个堆栈溢出错误,如果Gson配置不正确,您会遇到这个错误,但从您的代码来看,您使用的似乎是正确配置的Gson实例。只是想补充一点,我在设备上测试了它,它成功了,基于API22创建了一个新的仿真器,它运行正常。
private void requestData(){
RestAdapter adapter = new RestAdapter.Builder()
.setEndpoint(getResources().getString(R.string.app_url))
.setLogLevel(RestAdapter.LogLevel.FULL)
.setConverter(new GsonConverter(CustomGsonParser.returnCustomParser()))
.build();
BackendAPI api = adapter.create(BackendAPI.class);
api.getColleges(new Callback<List<College>>() {
@Override
public void success(List<College> colleges, Response response) {
mItems = colleges.toArray(new College[colleges.size()]);
realm.beginTransaction();
List<College> realmObjects = realm.copyToRealmOrUpdate(colleges);
realm.commitTransaction();
}
@Override
public void failure(RetrofitError error) {
System.out.println(error);
}
});
import java.util.List;
import io.realm.RealmObject;
import io.realm.annotations.Ignore;
public class College extends RealmObject{
private String name;
private String shortName;
private String mainColor;
private String secondaryColor;
private Boolean enabled;
private float latitude;
private float longitude;
private int id;