我的目標是將用GSON實例化的對象保存到數據庫。合併Realm對象和Gson對象
我的問題是這樣的:
我可以實例與GSON一個對象,所以GSON通吃的特性, 的護理,但那麼它不會被持久化到數據庫
我可以使用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);
這是行不通的,因爲你必須使用
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可能有效。
關於如何解決這個難題的任何想法?
我正在研究這個例子:)你到目前爲止做的很好!如果我理解正確,在這個例子中你手動設置了setters。 與此同時,我正在尋找一個堅實的deepcopy-all-the-properties解決方案的互聯網:) – TomCB 2014-10-09 10:05:36
請讓我們更新關於這個問題。如果您找不到解決方案,請告訴社區!我們一起可以解決問題! – TomCB 2014-10-13 10:58:10
我對如何解決這個問題有一個堅實的想法。我會盡力開發一個概念證明。 – Emanuelez 2014-10-13 12:18:14