1

私のJSONデータはサーバーAPIから次のようになります

{
  //...
  PredecessorIds:[[1,2][3,4][5]]
  //...
}

Integer または String の配列を正常に処理できますRealmList<RealmInt>が、今回は RealmList> がサポートされていないため、エラーで失敗しました。"Type parameter 'io.realm.realmList' is not within its bounds...."

このリンクRealmIntを参照してください。

RealmList<RealmLista>RealmListaがどこから拡張されRealmObjectRealmListこのようなものがあるかを使用して解決しようとしました

public class RealmLista extends RealmObject {
public RealmList<RealmInt> value;
public RealmLista() {
}

public RealmLista(RealmList<RealmInt> val) {
  this.value = val;
}

}

を作成しRealmListaTypeAdapterて Gson に追加しましたが、逆シリアルGson expects an Object (RealmLista) but is found array化すると、上記のサーバーからのデータは明らかです。

//RealmListAdapter for Gson
@Override
public RealmLista read(JsonReader in) throws IOException {
    RealmLista lista = new RealmLista();
    Gson gson = new Gson();
    //how to read that [[1],[3,4]] int into RealmLista
    in.beginArray();
    while (in.hasNext()) {
        lista.value.add(new RealmInt(in.nextInt()));
    }
    in.endArray();
    return lista;
}

保存中に任意の型にList<List<Integer>>変換して単純に保存する方法はありますか?Gsonによって簡単に変換されます。:-/RealmObjectList<List<Integer>>

4

1 に答える 1

1

Realm は現在、リストのリストをサポートしていません。https://github.com/realm/realm-java/issues/2549を参照して ください。

したがって、その内部リストを保持する RealmObject の作成に関する @EpicPandaForce のアイデアは、おそらく最善の回避策です。

次のようになります。

public class Top extends RealmObject {
  private RealmList<ChildList> list;
}

public class ChildList extends RealmObject {
  private RealmList<RealmInt> list;
}

public class RealmInt extends RealmObject {
  private int i;
}

要点の正しいリンクは次のとおりです。https://gist.github.com/cmelchior/1a97377df0c49cd4fca9

于 2016-05-04T10:04:51.497 に答える