1
レルムデータベースを使用しましたが、JSONレスポンスのデータをレルムに格納したいとします。私のJSONのresoponseは、私は2つのテーブル最初のものはOfflineResponseであり、もう一つは初めてOfflineResponseはデータを持っていない場合は、それがOfflineDepepartmentResponseにデータを格納し、OfflineDepartmentResponseである必要があり、何かのように、レルムテーブルにnullデータが表示される
[
{
"i_id": "108",
"year_id": "122",
"departments": [
{
"id": 164,
"name": "Main Department",
"classrooms": [
......
]
}
]
}
]
ですまた、OfflineDepartmentResponseで、今すぐ手動で部署を追加したいと思っています。OfflineDepartmentResponse、以下の画像のようにヌルの行を作成します。
0ここでは、私は、すべてのデータセットがある最初に書かれているコード、
int i_id = Integer.parseInt(offlineUserListObject.get("i_id").toString());
if (realm.where(OfflineUserResponse.class).equalTo("i_id", i_id).findAll().size() > 0) {
//This is where I want to store data manually
realm.copyToRealm(realm.createObjectFromJson(OfflineDepartmentResponse.class, departmentObj));
}else{
//This data set for the first time and it is working fine.
JSONObject obj = new JSONObject();
obj.put("offlineUserList", response);
realm.copyToRealm(realm.createObjectFromJson(OfflineResponse.class, obj));
}
はそれが意味をなすか、私は任意の明確化
「realm.executeTransaction(new Realm.Transaction())」の違いは何ですか?あなたは詳細を教えてくれますか? – Kuls
レルム・データベース内の何かをコピーまたは更新する場合は、データベース内の何かを更新またはコピーするというサインを与えなければなりません。そして、その記号は 'realm.executeTransaction()'です。別の方法もあります。コピーする前に 'realm.beginTransaction()'を追加し、realmデータベースにオブジェクトをコピーした後に 'realm.commitTransaction()'を追加することもできます。 –
私のメソッドに 'realm.beginTransaction()'と 'realm.commitTransaction()'をすでに追加しました。 – Kuls