我几天前遇到了问题,但没有找到解决方案。在android中按照名称搜索firebase
我试图按名称搜索我的firebase数据库,但结果始终为空。
该数据库是下一个;
,我使用的是下一个的代码;
final String nombre = edtNombreJugador.getText().toString().trim().toUpperCase();
mDatabase.child("user").child("personalData").orderByChild("name").equalTo(nombre);
mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot singleSnapshot : dataSnapshot.getChildren()){
String title = (String) singleSnapshot.child("name").getValue(String.class);
System.out.println("TITLE: "+title);
}
标题在我的情况下总是返回null。
有人可以帮助我吗?我不知道我在做什么坏...
由于您正在将文本转换为全大写,因此它与混合大小写内容不匹配。要解决这个问题,可以要求用户执行精确匹配或将全大写文本存储在其他属性中。我们今天刚刚解决了一个非常类似的问题:https://stackoverflow.com/questions/44264337/i-am-trying-to-perform-a-search-on-names-within-my-firebaserecycleradapter-with Search in Firebase区分大小写。 –
我认为问题不是大写。在我的数据库中,属性名称的值只能用大写字母。我的搜索代码对于那个数据库是正确的? –
啊,我明白了。那里有一个错字。你的代码加载'user',而你的JSON有'users'(最后加上's')。 –