2017-02-19 6 views
1

私はAndroidアプリケーション用のFirebaseデータベースを使用しています。 私は実体がありますクラスjava.util.Listにジェネリック型パラメータがあります。代わりにGenericTypeIndicatorを使用してください

public class Goal implements Serializable { 
     private double averageSpeed; 
     private long duration; 
     private Date startDate; 
     private Date endDate; 
     private LinkedList <LatLng> locations; 
    ... 
    } 

そして、私はこのようなデータベースからそれらのオブジェクトを取得しようとしています:

public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
       Goal goal = dataSnapshot.getValue(Goal.class); 
       goalAdapter.add(goal); 
      } 

をしかし、私はエラー

クラスjava.util.Listのを取得GenericTypeIndicatorを代わりに使用してください。

私のデータベースの0

JSON構造:

{ 
    "goals" : { 
    "-KdPyQTvht4seniKUk6o" : { 
     "averageSpeed" : 0, 
     "distance" : 0, 
     "duration" : 619, 
     "endDate" : { 
     "date" : 20, 
     "day" : 1, 
     "hours" : 12, 
     "minutes" : 3, 
     "month" : 1, 
     "seconds" : 21, 
     "time" : 1487585001328, 
     "timezoneOffset" : -120, 
     "year" : 117 
     }, 
     "locations" : [ { 
     "latitude" : 50.5066025, 
     "longitude" : 30.4184 
     }, { 
     "latitude" : 50.506281, 
     "longitude" : 30.4189611 
     } ], 
     "startDate" : { 
     "date" : 20, 
     "day" : 1, 
     "hours" : 12, 
     "minutes" : 2, 
     "month" : 1, 
     "seconds" : 44, 
     "time" : 1487584964181, 
     "timezoneOffset" : -120, 
     "year" : 117 
     } 
    } 
    } 
} 

どのように私はすべてが正常に動作させるために私のコードを変更できますか?

+1

なぜ生の 'List'を使用していますか? – shmosel

+0

リンクされたリストをネストしていることがわかります。それは最善の考えではないかもしれません。あなたが読んでいるJSON構造を(テキストとして、スクリーンショットなしで)共有できますか? [Firebaseデータベースコンソール](https://console.firebase.google.com/project/_/database/data/)の[Export JSON]リンクをクリックすると、簡単にこれを取得できます。 –

+0

私は自分の投稿にJSON構造を付けました。リンクリストを入れ子にする代わりに何ができますか? – DzouSi

答えて

0

あなたは必要以上に難しくなっています。 GenericTypeIndicatorは、1回のコールでDataSnapshotの目標リストなどを取得する場合にのみ必要です。あなただけの単一の目標が必要な場合は、getValue()にクラスに渡すことができます。

Goal goal = dataSnapshot.getValue(Goal.class); 

あなたはそれでいる間、あなたは、タイプセーフなコレクションにListを変更する場合があります

private List<Goal> locations; 
関連する問題