Я новичок в разработке Android и Firebase, так что это может быть простой вопрос.
Я хочу разработать приложение, которое соответствует имени в grandChild в FireBase, а затем получить данные ключавокруг этого, но проблема в том, что когда я получаю данные, он получает значение всех дочерних узлов в базе данных.
![image](https://i.stack.imgur.com/zGsEo.png)
Вот код, который я сделал
private void searchText() {
final String mSearch = searchBar.getText().toString();
//return REQUIRED if the searchBar is in filled
if (TextUtils.isEmpty(mSearch)) {
searchBar.setError(REQUIRED);
return;
}
ValueEventListener valueEventListener = mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot child : dataSnapshot.getChildren()){
for (DataSnapshot grandChild : child.getChildren()) {
//check if mSearch is equal any grandchild in the firebase'
if(grandChild.getValue().toString().equals(mSearch)){
TextView mText = findViewById(R.id.searchResult);
String string = child.getValue().toString();
String string2 = string.replace("{","");
String string3 = string2.replace("}","");
String string4 = string3.replace(",","\n");
//retrieve the data from firebase and show in TextView
mText.setText(string4);
}
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
mDatabase.addValueEventListener(valueEventListener);
}
результат равен
{Message = "...", Priority = "..", name = "...", time = "... "}
но результат , который я хочу , только имя и приоритет
{Message = "..", name = ".."}
Можно ли указать маршрут получения данных?