web-dev-qa-db-fra.com

RealmList du type de chaîne dans Android

J'utilise Realm pour le stockage local dans Android. Je reçois le serveur de formulaire de réponse suivant.

[{
    "ListId": 10,
    "Names": ["Name1", "Name2", "Name3", "Name4"]
}]

Voici mon modèle

   public class Model extends RealmObject {

    private int ListId;
    private RealmList<String> Names = new RealmList<String>()

    public int getListId() {
        return ListId;
    }

    public void setListId(int listId) {
        ListId = listId;
    }

    public RealmList<String> getNames() {
        return Names;
    }

    public void setNames(RealmList<String> names) {
        Names = names;
    }

}

Et je reçois ceci pour ArrayList

Le paramètre de type 'Java.lang.String' n'est pas dans sa limite; devrait étendre 'io.realm.RealmObject'.

Merci.

13
user2566484

Realm version 4.0.0 ajoutera la prise en charge de RealmList qui peut contenir des valeurs de chaîne, octet [], booléen, long, entier, court, octet, double, flottant et date.

Veuillez vous référer à cette demande de tirage:

https://github.com/realm/realm-Java/pull/5031

Et le changelog du royaume:

https://github.com/realm/realm-Java/blob/master/CHANGELOG.md

6
Yayo Arellano

RealmLists ne prend pas encore en charge les chaînes simples. vous devez donc envelopper chaque chaîne dans son propre objet:

Vous pouvez voir une solution ici: désérialisation Gson de la liste <String> dans realmList <RealmString>

ou ici: https://realm.io/docs/Java/latest/#primitive-lists

14
Christian Melchior

oui c'est une limitation du royaume, vous ne pouvez pas créer de tableau ou de liste de chaînes, veuillez vous référer au lien suivant

https://github.com/realm/realm-Java/issues/575

1
Master