J'ai un objet
public class ArticleList extends RealmObject {
@PrimaryKey
private String id;
private String title;
private String subtitle;
private String image;
private String category;
}
Ce que je veux faire, c'est récupérer le résultat de Realm et les convertir en ArticleList[]
Aller chercher en utilisant
RealmResults<ArticleList> results = realm.where(ArticleList.class).equalTo("category", "CategoryName").findAll();
Que dois-je faire ensuite pour obtenir un tableau d'objets?
RealmResults
a une méthode toArray()
- également toArray(T[] contents)
(notez la chaîne d'héritage RealmResults
). Vous pouvez les utiliser comme suit:
ArticleList[] resultArray = (ArticleList[]) results.toArray();
Ou
ArticleList[] resultArray = results.toArray(new ArticleList[results.size()]);
Idéalement, vous voudriez plutôt utiliser RealmResults
. Cela vous permet d'obtenir mises à jour "gratuites" à vos données, ainsi que toutes les commodités d'un List
.
Le plus simple à convertir en Java ArrayList:
ArrayList<People> list = new ArrayList(mRealm.where(People.class).findAll());
List<ArticleList> unmanagedList = realm.copyFromRealm(results);
Le fera.
Au lieu d'essayer de convertir en tableau, vous devez étendre la classe abstraite RealmBaseAdapter à partir de https://github.com/realm/realm-Android-adapters pour garder vos résultats synchronisés.
Realm fournit ces classes comme exemple de création d'une liste de mise à jour automatique avec RecyclerView ou ListView.