Realm を使用して Android アプリにオブジェクトを保存し始めています。これが私が保存しようとしているものの例です:
public class Item implements RealmModel {
String id;
...
}
アイテムを表示する複数のリストがあります。リストの数は増え続ける可能性があります (ユーザーはできるだけ多くのリストを作成できます。
ユーザーが「Best」というリストを作成したとしましょう。「ベスト」リストを表示しているときに、API からgetItems("Best")
取得するを呼び出します。List<Items>
ここで、このリストを保存する方法を理解する必要があります。SQLite の世界では、たとえば、新しいテーブル「custom_list_best」を作成します。これは、リストの一部であるすべての Item.id の単一のリストです。また、すべての個別のアイテムを含む「アイテム」テーブルもあります。ベスト リストのアイテムを取得するには、ベスト テーブルとアイテム テーブルの両方で結合クエリを実行するだけです。
Realm の世界では、Realm がどのように機能するか、モデルを構築する最善の方法は何かを理解しようとしています。
私は当初、次のようなオブジェクトを作成できると考えていましたCustomList
。
public class CustomList implements RealmModel {
String listId;
RealmList<Item> items;
}
次に、を保存しRealmList<CustomList>
ます。しかし、唯一の問題は、すべてのアイテムに対してクエリを実行できるようにしたいということです。RealmList<Item>
そのため、レルムにも保存する必要があります。この場合、レルムはどのように機能しますか? 別々に保存してからRealmList<Item>
それぞれを保存すると、RealmList<CustomList>
データは複製されませんか?
代わりに、代わりにこれを行うことで、これを手動で処理する必要があります。
public class CustomList implements RealmModel {
String listId;
List<String> itemIds;
}
そして、Item.class
上記のオブジェクトから itemIds に itemId を持つオブジェクトをクエリしますか?