我无法获取推送值时创建的自定义推送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