下面是我用来将值保存到firebase中的代码。它为每个值生成一个随机密钥。(我想保存冗余的数据,所以这个方法是必要的)。
GenderOfNameHelperClass GONHC = new GenderOfNameHelperClass();
reference = FirebaseDatabase.getInstance().getReference().child("GenderOfName");
GONHC.setName(Name);
GONHC.setGender(Gender);
reference.push().setValue(GONHC);这将创建如下结构:
db-ai-34201
-...GenderOfName
-...M4oLyB1ADGLWGJG4EgR
...gender:"Female"
...name: "akira"

现在,我如何才能从中获取数据。当从我的android UI中搜索姓名时,我想获取性别。
发布于 2020-04-18 21:08:32
这是GenderOfName节点的监听器,用于提取随机密钥下的数据:
ValueEventListener listener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot snapShot:dataSnapshot.getChildren() ){
//these are the values of gender and name for every random key
//in GenderOfName node
String gender = snapShot.child("gender").getValue(String.class);
String name = snapShot.child("name").getValue(String.class);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException(); // never ignore errors
}
};最后,将侦听器附加到该节点的引用,以开始侦听它
reference = FirebaseDatabase.getInstance().getReference().child("GenderOfName");
reference.addValueEventListener(listener);更新
您始终可以使用查询来筛选结果:
而不是这样:
reference = FirebaseDatabase.getInstance().getReference().child("GenderOfName");
reference.addValueEventListener(listener);试试这个,它会根据你需要的名称给你一个特定的快照:
Query query = FirebaseDatabase.getInstance().getReference().child("GenderOfName").orderByChild("name").equalTo(theNameYouWant);
query.addValueEventListener(listener);https://stackoverflow.com/questions/61289378
复制相似问题