Как извлечь данные конкретного пользователя из Firebase и отобразить их в текстовых полях? - PullRequest
0 голосов
/ 28 апреля 2019

Я создаю приложение в Android Studio, используя FireBase в качестве бэкэнда. Я закончил аутентификацию пользователя и сохранил введенные пользователем данные в базе данных Firebase в реальном времени.

Но теперь проблема заключается в процессе извлечения пользовательских данных, т.е. как извлечь определенные аутентифицированные пользовательские данные из базы данных firebase и отобразить их в текстовых полях?

Я пытался использовать Datasnapshot, но не смог выполнить свою задачу. На самом деле, текстовые поля отображаются пустыми

 firebaseDatabase=FirebaseDatabase.getInstance();
      //  firebaseStorage=FirebaseStorage.getInstance();
     //   DatabaseReference databaseReference=firebaseDatabase.getReference(firebaseAuth.getUid());
       // databaseReference=firebaseDatabase.getReference();
        //user=firebaseAuth.getCurrentUser();
        uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
         mdatabaseRef=firebaseDatabase.getInstance().getReference().child(uid);
         mdatabaseRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {


                   // String firstname = dataSnapshot.getValue().toString();
                  //  fname.setText("firstname :" + firstname);
                    Proceed proceed=postSnapshot.getValue(Proceed.class);
                     String firstname=proceed.getFirstname();
                     String lastname=proceed.getLastname();
                     String phonenumber=proceed.getPhonenumber();
                     String addressc=proceed.getAddressc();
                     String dateofbirth=proceed.getDateofbirth();
                     String gen=proceed.getGen();
                     fname.setText(firstname);
                     lname.setText(lastname);
                     phoneno.setText(phonenumber);
                     address.setText(addressc);
                     dobirth.setText(dateofbirth);
                     gender.setText(gen);

Последний вывод, который я ожидаю, состоит в том, что отображение всех пользовательских данных в текстовом поле, которые были сохранены в базе данных

...