Я выполняю поиск в своем приложении для Android и не могу заставить его работать.
public void loadReleaseData(String name) {
mDatabase.child("releases")
.child("europe")
.child("data").orderByChild("game/name").startAt(name)
.endAt(name+"\uf8ff")
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.hasChildren()) {
Log.d(TAG, "New datasnapshot");
for (DataSnapshot data : dataSnapshot.getChildren()) {
_Release release = data.getValue(_Release.class);
if (release != null) {
// No platform filter set add all releases!
list.add(release);
if (release.getGame() != null) {
Log.d(TAG, "NAME: " + release.getGame().getName());
}
}
mUpcomingGamesAdapter.notifyDataSetChanged();
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
Когда я удаляю startAt
или endAt
, отображаются любые из двух данных, но не правильные, но когда они оба добавляются, ничего не отображается, и мой журнал "Новый снимок данных" даже не получает распечатаны. Я ищу названия игр, которые есть в моей базе данных.
Моя база данных Firebase:
![My database structure](https://i.stack.imgur.com/HB708.png)