我無法獲取推送值時創建的自定義推送ID。 如何從Firebase數據庫中檢索自定義推送ID?
我想從rated_user節點獲取「4wJIGRCkYrZqFpb401hSmgHeBOI3」。任何幫助將非常有用。提前致謝。
我無法獲取推送值時創建的自定義推送ID。 如何從Firebase數據庫中檢索自定義推送ID?
我想從rated_user節點獲取「4wJIGRCkYrZqFpb401hSmgHeBOI3」。任何幫助將非常有用。提前致謝。
比方說,對於rated_users數據庫引用是這個RatedUser
valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot postSnapshot : dataSnapshot.getChildren()){
String key = postSnapshot.getKey();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
RatedUser.addValueEventListener(valueEventListener);
使用下面的代碼歸檔你的目標。
private DatabaseReference ref;
ref = FirebaseDatabase.getInstance().getReferenceFromUrl("https://xxxx.firebase.com/rated_users");
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
try {
String key = dataSnapshot.getKey();
String value = dataSnapshot.child("key").getValue(String.class);
}catch (Exception e) {
String valws = e.getMessage();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
這給了我「rated_users」中的鍵和值給null。 – bhaskar
如果您不使用身份驗證,請確保您已在數據庫中設置了適當的「規則」。 – SurenSaluka
{ 「rules」:{ 「.read」:「auth == null」, 「.write」:「auth == null」 } } – SurenSaluka
我所做的只是增加了一個foreach循環:
for(DataSnapshot snapshot : dataSnapshot.getChildren()){
Log.e("children" , snapshot.getKey()+"");
}
這給了我這個沒有工作的關鍵「4wJIGRCkYrZqFpb401hSmgHeBOI3」
..它給了我「rated_users」即使我的裁判是 「https:// **************/rated_users」 – bhaskar
已更新它,該鍵將包含所有推入ID。 –
我已經自己回答了。 – bhaskar