Как создать в реальном времени подузлы Firebase android проблемы - PullRequest
1 голос
/ 10 марта 2020

как создавать подузлы Firebase в реальном времени

примечание: я не изменил пользователя, потому что пытался добавить его из кода mainactivity, а также потому, что все, что я создал, чтобы сделать это дополнение при создании пользователя, пошли не так , Заранее большое спасибо. любая помощь приветствуется.

Здравствуйте, я пытаюсь создать подузлы внутри пользователя.

{
   "Users": {
     "Hr1riTVGQWWsKnOsT8n7wIBO7R63": {
       "address": "asdasd",
       "email": "a@a.com",
       "fullname": "asdasd",
       "helpsms": "123456",
       "phone": "55555555555"
     }
   }
}

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

время: со значением по умолчанию 200 секунд

награда: со значением по умолчанию 200

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

Код кнопки:

   addButton.setOnClickListener(new View.OnClickListener() {
            DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
            @Override
            public void onClick(View v) {
                FirebaseDatabase.getInstance().getReference("Users");
                ref.child("Users").child(userUid).addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        for (DataSnapshot ds : dataSnapshot.getChildren()) {



                            ref.child(userUid).child("cassino").setValue(dataSnapshot);

                        }
                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                    }
                });
            }
        });

my user.class

public class User {
    public String helpsms;
    public String email;
    public String phone;
    public String address;

    public User(String helpsms, String email, String phone, String address, String fullname) {
        this.helpsms = helpsms;
        this.email = email;
        this.phone = phone;
        this.address = address;
        this.fullname = fullname;
    }

    public String fullname;
}

1 Ответ

1 голос
/ 10 марта 2020

Измените это:

ref.child(userUid).child("cassino").setValue(dataSnapshot);

на это:

Map<String,Object> map = new HashMap<>();
map.put("address",dataSnapshot.child("address").getValue(String.class));
ref.child("Users").child(userUid).child("cassino").setValue(map);

Добавьте child("Users"), а затем добавьте значения

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