使用Android和FireBase,并根据我们想要实现的问题解决问题
我们有一个文件,其中密钥是两个名字,如Bob_Jimmy
每个名称都是唯一的,但可以显示在不同的设置中,例如: Bob_Jimmy Jimmy_Bob Bob_Carl
由于这是关键,你应该如何/你将如何从'Bob'作为密钥一部分的所有密钥中获取数据?因为我们只知道鲍勃
答案 0 :(得分:0)
创建Firebase数据库引用并在onDataChange()方法中检查密钥是否包含您的变量。例如:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addListenerForSingleValueEvent(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot){
if(dataSnapshot.getKey().contains("bob")){
{your code}
}
}
});
如果我有您的数据库结构,我可以编写准确的代码。这只是一个样本。 如果要监听新的子级添加事件,可以使用addChildEventListener()。希望它有所帮助。
答案 1 :(得分:0)
您可以使用实时数据库查询类来检索按键,值或子值的值排序的数据。您还可以将排序结果过滤为特定数量的结果或一系列键或值
注意:过滤和排序可能很昂贵,尤其是在完成后 客户端。如果您的应用使用查询,请将。
indexOn
规则定义为 索引服务器上的那些键并提高查询性能 索引数据中描述的。
您可以sort data使用以下方法
方法用法
orderByChild()按指定子键的值对结果进行排序。
orderByKey()按子键订购结果。
orderByValue()按子值订购结果
startAt()根据所选的订购方式,返回大于或等于指定键或值的项目。
endAt()根据所选择的订购方式,返回小于或等于指定键或值的项目。
equalTo()根据所选择的订购方式,返回等于指定键或值的项目。