Я хочу прочитать конкретные данные из базы данных firebase. То, что я сейчас делаю, здесь.Чтение данных из базы данных Firebase
DatabaseReference database = FirebaseDatabase.getInstance().getReference();
DatabaseReference myRef = database.child("profiles/");
myRef.child(phoneNo).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
user = dataSnapshot.getValue(User.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
Метод записи в БД
public void writeToDBProfiles(Object data,String phoneNo) {
DatabaseReference database = FirebaseDatabase.getInstance().getReference();
DatabaseReference myRef = database.child("profiles/" + phoneNo);
myRef.setValue(data);
}
Но его возвращение нулевой ... Любая помощь будет оценена.
У вас есть разрешение на данные? См. Http://stackoverflow.com/documentation/firebase/5548/how-do-i-listen-for-errors-when-accessing-the-database/22652/detect-errors-when-reading-data-on-android # t = 201609302251033886091 –
@FrankvanPuffelen snap shot, который он разделяет, имеет флаг безопасности по умолчанию ** по умолчанию **, это не значит, что ** его .write и .read оба являются auth! = null? ** В этом Если он может написать, то он должен уметь читать, так как пользователь имеет право, не так ли? Пожалуйста, поправьте меня, если я ошибаюсь. –
Я пропустил этот баннер, но на самом деле он должен. Наиболее вероятная проблема заключается в том, что пользователь не аутентифицирован. Что-то, что вы можете наиболее легко обнаружить, если добавить простой 'throw databaseError.toException()' в 'onCancelled()' и слушатель завершения в 'setValue()'. Оба документа задокументированы на странице, с которой я связан. –