Моя цель - сохранить объект, созданный с помощью GSON, в базу данных с помощью области.
Моя проблема заключается в следующем:
-
Я могу создать объект с помощью GSON, поэтому GSON позаботится обо всех свойствах, но тогда он не будет сохранен для db
-
Я могу создать экземпляр объекта с помощью Realm, но затем я должен заполнить все настройки для свойств.
В моем oncreate эта часть одинакова для обоих методов
//delete previous realm file
Realm.deleteRealmFile(this);
//gson instance
Gson gson = new Gson();
//realm instance
realm = Realm.getInstance(this);
** Название моего класса - Vacature **
Информация: Я знаю, что следующий код должен быть внутри:
realm.beginTransaction();
// code here
realm.commitTransaction();
Вариант 1:
//get class with gson
Vacature vacatureGson = gson.fromJson(jsonString, Vacature.class);
Это не сработает, потому что вы должны создать экземпляр объекта realm, используя
Class instance = realm.createObject(Class.class); // Create a new object
Вариант 2:
//get instance with gson
Vacature vacatureGson = gson.fromJson(jsonString, Vacature.class);
//make instance with realm
Vacature realmVacature = realm.createObject(Vacature.class);
realmVacature = vacatureGson;
Это не сработает, потому что это не является правильным способом скопировать все свойства с одного объекта на другой. Если есть хороший способ скопировать все свойства из gsonObject в объект realmObject, вариант 2 может работать.
Любые идеи о том, как решить эту загадку?