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.
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
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>
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