属性値に基づいてFirebaseデータベース内のアイテムを照会しようとしています。ここでFirebaseネストされた値
は私の構造体である:ここでは
は、私のPOJOオブジェクトです:
public class LapTime {
private int vehicleType;
private String track;
private String user;
private int time;
}
そしてここでは、私のクエリのコードは次のとおりです。
mDatabase.child("lap-time").orderByChild("track").equalTo(mTrackUuid).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
time = dataSnapshot.getValue(LapTime.class).getTime() + "ms");
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
私の問題があることです私が戻ってくるdatasnapshotは、ルートlap-time
であり、UではないUIDは、これgetValue(LapTime.class)
は私に空のオブジェクトを与える...ここ
は私が手datasnapshotです:
DataSnapshot { key = lap-time, value = {-KXwSxD0GYVC6awV8abw={track=-KXwSxCeV2Ib4Gt4pvjy, time=105000, vehicle-type=0, user=ZQKwPfRF0mVL5jAO7FaSPcsF7t42}} }
そして、これは私が取得したいものです。
DataSnapshot { key = -KXwSxD0GYVC6awV8abw, value ={track=-KXwSxCeV2Ib4Gt4pvjy, time=105000, vehicle-type=0, user=ZQKwPfRF0mVL5jAO7FaSPcsF7t42}} }
どのようにすることができます私がする?
も同様の問題があります。http://stackoverflow.com/questions/40928787/cannot-retrieve-a-list-into-firebase-database/40929176?noredirect=1#comment69070082_40929176 –
すべての子を解析しますかラップタイムか特定のものか? 'dataSnapshot.getChildren()'を使って子プロセスを反復することができます。それ以外の場合は、UIDを持つノードで 'ValueEventListener'を設定する必要があります – Sunshinator