Поисковый запрос Firebase не работает на Android - PullRequest
0 голосов
/ 05 июля 2018

Я выполняю поиск в своем приложении для 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

1 Ответ

0 голосов
/ 12 июля 2018

Согласно вашим комментариям, ваш код не работал, потому что значение переменной name, которая была передана методам startAt() и endAt, было неправильным. Ключом к решению проблемы является передача в качестве аргумента обоих методов точно таких же name, которые существуют в базе данных, в этом случае вам следует искать имя в нижнем регистре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...