Опять же !! Great !! ....

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

Вот мой код:

public class Chat extends AppCompatActivity {

  DatabaseReference databaseReference1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_chat);

    Firebase.setAndroidContext(this);
    databaseReference1 = FirebaseDatabase.getInstance().getReferenceFromUrl("URL");

    databaseReference1.addChildEventListener(new com.google.firebase.database.ChildEventListener() {
        @Override
        public void onChildAdded(com.google.firebase.database.DataSnapshot dataSnapshot, String s) {
            Map map = (Map) dataSnapshot.getValue();
            String message = map.get("text").toString();   //ERROR GOES HERE!!
            String userName = map.get("Username").toString();

        }

        @Override
        public void onChildChanged(com.google.firebase.database.DataSnapshot dataSnapshot, String s) {

        }

        @Override
        public void onChildRemoved(com.google.firebase.database.DataSnapshot dataSnapshot) {

        }

        @Override
        public void onChildMoved(com.google.firebase.database.DataSnapshot dataSnapshot, String s) {

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}


}
 Sumit Shukla18 сент. 2017 г., 12:43
Смотрите в своем посте я указал ошибку в качестве комментария.
 akhilesh070718 сент. 2017 г., 12:48
перед звонкомtoString() метод наmap.get("text).toString пожалуйста, проверьте стоимость вашегоmap
 akhilesh070718 сент. 2017 г., 12:47
ты проверил свою запись вставлена? на огненной базе?
 akhilesh070718 сент. 2017 г., 12:45
когда вы получаете ошибку при нажатии записи или во время поиска
 akhilesh070718 сент. 2017 г., 12:38
разместить журнал ошибок здесь

Ответы на вопрос(1)

Решение Вопроса

Измените свой код во время поиска

Map<String, String> map  = (Map) dataSnapshot.getValue();

Вместо

Map map = (Map) dataSnapshot.getValue();

Редактировать: Вы можете получить список записей, используя код ниже

databaseReference1.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
            Map<String, String> map = (Map) postSnapshot.getValue();
            if (map != null) {
                String message = map.get("text");
                String userName = map.get("Username");
            }
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
    }
});
 akhilesh070718 сент. 2017 г., 13:14
Вы можете получить все записи в одной связке в виде списка
 akhilesh070718 сент. 2017 г., 13:02
конечно минут
 Sumit Shukla18 сент. 2017 г., 13:16
Опять же !! Great !! ....
 Sumit Shukla18 сент. 2017 г., 13:01
Будет замечательно, если вы отправите сообщение с использованием метода DataSnapshot ... с использованием цикла
 akhilesh070718 сент. 2017 г., 13:14
ChildEventListener восстановить запись один за другим

Ваш ответ на вопрос