Как получить данные, сохраненные в USER_ID? - PullRequest
0 голосов
/ 28 февраля 2019

Данные сохранены правильно, как вы можете видеть на следующем изображении:

enter image description here

Я использую этот код:

btnDatos.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String name = nameTextView.getText().toString();
            String email = emailTextView.getText().toString();
            String id = idTextView.getText().toString();
            String idJuego = idffTextView.getText().toString();


            Map hopperUdates = new HashMap();
            hopperUdates.put("name", name);
            hopperUdates.put("email", email);
            hopperUdates.put("id", id);
            hopperUdates.put("idFreeFire", idJuego);

            mDatabase.child("Usuario").child(mAuth.getCurrentUser().getUid()).updateChildren(hopperUdates);
    }
});

И для получения данных я использую следующий код: mDatabase.child ("Usuario"). Child (mAuth.getCurrentUser (). GetUid ()). AddValueEventListener (new ValueEventListener () {@Override public void onDataChange (@)NonNull DataSnapshot dataSnapshot) {

            int idJuego = dataSnapshot.getValue(Integer.class);
            idffTextView.setText(idJuego);


        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

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

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

попытаться преобразовать из целого в строку ...

int idJuego = dataSnapshot.getValue (Integer.class);
idffTextView.setText(String.valueOf(idJuego ));

0 голосов
/ 01 марта 2019

Поскольку вы сохраняете uid в качестве ключа вашего пользовательского объекта и в то же время как свойство в пользовательском объекте, чтобы установить для этого идентификатора значение idffTextView, используйте следующие строки кода:

String idJuego = dataSnapshot.getkey();
idffTextView.setText(idJuego);

Или:

String idJuego = dataSnapshot.child("id").getValue(String.class)
idffTextView.setText(idJuego);

Обратите внимание, что в обоих случаях id имеет тип String и , а не int.

0 голосов
/ 28 февраля 2019

Если вам нужны все данные, то создайте класс модели, а затем сохраните datasnapshot в этот класс модели следующим образом:

Модель модель = dataSnapshot.getValue (Model.class);

Или вы хотите одинзатем данные просто получают дочерний элемент следующим образом:

String idJuego = dataSnapshot.child ("childname"). getValue (). toString;

И затем установите эту строку в textView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...