Проблема с чтением данных базы данных Firebase в реальном времениJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблема с чтением данных базы данных Firebase в реальном времени

Сообщение Anonymous »

Я пытался прочитать свою базу данных реального времени и сохранить значение в классе. Я использовал код, указанный в официальной документации:
Мой код:
(имя строки является общедоступным объектом в классе)

Код: Выделить всё

mDatabase.child("users").child(userId).get().addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (!task.isSuccessful()) {
Log.e("firebase", "Error getting data", task.getException());
}
else {
Log.d("firebase", String.valueOf(task.getResult().getValue()));
}
}});
В журналах мои данные отображаются правильно, и если я отлаживаю имя внутри onComplete, оно также будет иметь правильное значение, но в операторе return объект имени снова станет нулевым.
Сначала я попробовал создать общую функцию для однократного получения данных, это выглядело так:

Код: Выделить всё

public String getQuestionnaireStringData(int charid, String data) {
DatabaseReference mDatabase;

mDatabase = FirebaseDatabase.getInstance().getReference();

mDatabase.child("characters").child(String.valueOf(charid)).child(data).get().addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(Task task) {
if (!task.isSuccessful()) {
Log.e("lograt", "Error getting data ("+ data +")", task.getException());
//Error toast
}
else {
dataResS = String.valueOf(task.getResult().getValue());
}

}
});

return dataResS;
}
Изменил его на более конкретные функции, но это явно было не то.
Я также попробовал получить полное значение после charaid и поставил результат для строки, а затем разделить строку и т. д. Но каждый раз происходит то же самое, за пределами onComplete, все так, как будто никогда не было установлено (null).
Ошибок не появляется. в журнале.
Кто-нибудь знает, чего мне не хватает? Заранее всем спасибо!

Подробнее здесь: https://stackoverflow.com/questions/782 ... data-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»