Firebase не создает новый узел - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть одно имя пользователя users, которое заполняется нормально, но я пытаюсь включить новые события узла, с которыми у меня возникают проблемы. Я скопировал именно то, что работает у пользователей, но я явно что-то делаю не так. Он никогда не входит в OnCompleteListener. Что-то мне не хватает?

R.string.dbnode_events = "events"

Events events = new Events();
            events.setEvent_key(mEventKey);
            events.setEvent_title("");
            events.setEvent_date("");
            events.setEvent_time("");
            events.setEvent_millis("");
            events.setEvent_desc("");
            events.setEvent_filter("");
            events.setGroup_number("");


            FirebaseDatabase.getInstance().getReference()
                    .child(getString(R.string.dbnode_events))
                    .child(mEventKey)
                    .setValue(events).addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    Toast.makeText(CreateEventActivity.this, "Success", Toast.LENGTH_SHORT);
                }
            });

Дополнительная информация / Пример: верхний пользователь создает узел без проблем, но события, которые еще предстоит создать. Я надеюсь, что это может дать больше понимания.

 User user = new User();
                    user.setName(email.substring(0, email.indexOf("@")));
                    user.setPhone("1");
                    user.setProfile_image("");
                    user.setSecurity_level("1");
                    user.setUser_id(FirebaseAuth.getInstance().getCurrentUser().getUid());
                    user.setEmail(FirebaseAuth.getInstance().getCurrentUser().getEmail());
                    user.setStreet_address("");
                    user.setCity("");
                    user.setState("");
                    user.setZip("");
                    user.setMember_filter("Member");
                    user.setSmall_group_subscription1("");
                    user.setSmall_group_subscription2("");
                    user.setSmall_group_subscription3("");
                    user.setSmall_group_subscription4("");
                    user.setSmall_group_subscription5("");
                    user.setShow_phone("No");
                    user.setShow_email("Yes");
                    user.setShow_address("No");

                    FirebaseDatabase.getInstance().getReference()
                            .child(getString(R.string.dbnode_users))
                            .child(FirebaseAuth.getInstance().getCurrentUser().getUid())
                            .setValue(user)
                            .addOnCompleteListener(task1 -> {
                                FirebaseAuth.getInstance().signOut();
                                redirectLoginScreen();
                            }).addOnFailureListener(e -> {
                                FirebaseAuth.getInstance().signOut();
                                redirectLoginScreen();
                                Toast.makeText(RegisterActivity.this, "Database Problem ",Toast.LENGTH_SHORT);

                            });
/////////////////////////
                    String mEventKey = UUID.randomUUID().toString();
                    Events events = new Events();
                    events.setEvent_key(mEventKey);
                    events.setEvent_title("");
                    events.setEvent_date("");
                    events.setEvent_time("");
                    events.setEvent_millis("");
                    events.setEvent_desc("");
                    events.setEvent_filter("");
                    events.setGroup_number("");


                    FirebaseDatabase.getInstance().getReference()
                            .child(getString(R.string.dbnode_events))
                            .child(mEventKey)
                            .setValue(events)
                            .addOnCompleteListener(new OnCompleteListener<Void>() {
                        @Override
                        public void onComplete(@NonNull Task<Void> task) {
                            Toast.makeText(RegisterActivity.this, "Success", Toast.LENGTH_SHORT);
                        }
                    });

1 Ответ

0 голосов
/ 02 ноября 2018

Это то, что я сделал, возможно, это поможет: D

Когда вы добавляете класс, вы должны создать ссылку, подобную этой:

  private DatabaseReference Accounts;

И внутри onCreate:

Accounts = FirebaseDatabase.getInstance().getReference("Accounts");

После этого установите класс ур. Я делаю это для пользователя:

currentwithID = new Class_user(uID,uSer,matchFound);

И чем установить его на узле: uID - это токен, выданный Google

Accounts.child(uID).setValue(currentwithID);

Я проделал одно и то же с каждым узлом моей базы данных, и он отлично работает. Попробуйте сделать это с помощью этого кода и скажите, работает ли он: D

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