[英]How get random child from firebase database?
我嘗試從我的 firebase 中獲取隨機孩子。 但我不能,我也嘗試了stackoverflow的許多想法,但仍然無法正常工作。 例如,我想從“Bahan Makanan Susu”中獲得隨機孩子,在獲得隨機孩子之后,我想顯示“kalori”的值。
這是我創建的數據庫
這是我目前的代碼
reff = FirebaseDatabase.getInstance().getReference();
reff.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String Sskal =dataSnapshot.child("Bahan Makanan Susu").child("3").child("Kalori").getValue().toString();
'child("3")' 在這里我手動創建,我想讓它隨機。 謝謝你希望你們都可以幫助我
嘗試這個:
reff = FirebaseDatabase.getInstance().getReference("Bahan Makanan Susu/3/Kalori");
reff.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String Sskal = dataSnapshot.getValue().toString();
Log.i("Firebase", Sskal);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
throw databaseError.toException();
}
}
主要變化及注意點:
getReference
。onCancelled
,因為它可以指出數據庫的訪問問題。 如果您遇到此異常,請搜索錯誤消息以了解如何處理它。google-services.json
文件,或指定代碼中的getInstance("URL here")
調用中的數據庫 URL。嘗試這個:
reff = FirebaseDatabase.getInstance().getReference();
reff.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot
dataSnapshot) {
Random r = new Random();
int total = reff.child("Bahan Makanan Susu").getChildrenCount();
String Sskal =dataSnapshot.child("Bahan Makanan
蘇蘇").child(r.nextInt(total)).child("Kalori").getValue().toString(); });
你必須每次都做一次檢查,這樣一個孩子就不會被重復,但我希望你能夠讓它發揮作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.