Как преобразовать результат запроса Firebase в строку и установить его в текстовом представлении? - PullRequest
0 голосов
/ 12 января 2020

Я запрашиваю через Firebase, чтобы извлечь данные и установить их в текстовое представление, но результаты отличаются.

    databaseReference = FirebaseDatabase.getInstance().getReference("tables");
    query = databaseReference.child("restaurantID").orderByChild("tableID").equalTo(tableID);
    tableDatabaseReference = FirebaseDatabase.getInstance().getReference("tables");
    tableNameQuery = tableDatabaseReference.child("tableName").orderByChild("tableID").equalTo(tableID);
    tableNameTextView.setText(tableNameQuery.toString());

Не отображается ошибка, но текстовое представление отображается как com.google.firebase.database.Query@c1d4fdd

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 12 января 2020

Вы на самом деле не выполняете запрос к базе данных. Все, что делает ваш код, - это берет объект Query, возвращаемый tableDatabaseReference.child(...).orderByChild(...).equalTo(...), и преобразует этот объект в строку. То, что вы видите, это представление по умолчанию Java объекта в виде строки.

Вы должны следовать документации для запроса базы данных реального времени , чтобы получить фактические данные. Вам нужно будет прикрепить слушателя к запросу, чтобы получить от него данные. Например, из документации:

    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
            // TODO: handle the post
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        // Getting Post failed, log a message
        Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
        // ...
    } }); ```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...