我想根據屬性值查詢我的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