我想查詢該orderByValue它總是返回null 但是,當我刪除.orderByValue數據正常加載。請幫忙查詢firebase數據庫得到null
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.child("newfeed").child(FirebaseRef.mAuth.getCurrentUser().getUid()).orderByValue().limitToFirst(10).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
for (DataSnapshot data : dataSnapshot.getChildren()) {
lastRating = data.getValue(Double.class);
loadData(data.getKey());
Log.d("Key ", data.getKey());
}
}
else{
mProgressBar.setVisibility(RecyclerView.GONE);
mProgressBarTop.setVisibility(RecyclerView.GONE);
}
}
@Override public void onCancelled(DatabaseError databaseError) {
mProgressBar.setVisibility(RecyclerView.GONE);
}
});
}
這裏是我的JSON的例子。
"newfeed" : {
"7gE2qiqoblSHDHubiEW0IzrhzIQ2" : {
"-Kn090eIxMH338xIwA8J" : 69259.23018812927,
"-Kn092jf25h2Qdmk--RX" : 69268.71984827428,
"-Kn093LPOBCCE1-Ygx6t" : 69270.82899176712,
"-Kn093P2PE2rIml4XyKI" : 121518.05765189118,
"-Kn09lD0cGUhRQPbvJtS" : 69394.93008559482,
"-Kn0BYI-7IQzkCmBH8gN" : 69892.8262113143,
"-Kn4UkNCe1rhpiJ_Rrew" : 3133576.6418433865
}
你已經在你的問題中包含了JSON樹的圖片。請用實際的JSON替換爲文本,您可以通過單擊[您的Firebase數據庫控制檯](https://console.firebase.google.com/project/_/database/data/)中的導出JSON鏈接輕鬆獲取該文本。 。將JSON作爲文本可以搜索,使我們能夠輕鬆使用它來測試您的實際數據,並將其用於我們的答案中,並且通常只是一件好事。 –
@FrankvanPuffelen對不起,剛添加。 – LIPONEF
如果使用'addValueEventListener',它有什麼區別嗎?查看https://stackoverflow.com/questions/34486417/firebase-offline-capabilities-and-addlistenerforsinglevalueevent瞭解addListenerForSingleValueEvent行爲的一些細節(雖然不確定爲什麼只有在使用orderByValue()時纔會這樣) 。正如那篇文章所描述的,當使用'addListenerForSingleValueEvent'時可能需要調用'keepSynced(true)' –