Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带改装的Realm.io_Java_Android_Retrofit_Realm - Fatal编程技术网

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;