Вставить данные в базу данных реального времени не работает

Я пытаюсь создать приложение, если кто-то хочет использовать мое приложение, он должен создать пользователя. Когда они зарегистрируются, они вставят имя, фамилию, телефон и адрес электронной почты. После того, как я подтверждаю, что телефон принадлежит им, используя авторизацию Firebase, я хочу вставить его данные в таблицу с именем Users в моей базе данных RealTime.

Когда я попытался сделать это с помощью этой функции:

** Обновлено: я добавил функцию onComplete, но она не выполняется **

private void storeNewUserData() {
        FirebaseDatabase rootNode = FirebaseDatabase.getInstance();
        DatabaseReference reference = rootNode.getReference("Users");
        User user = new User(phone,firstName,lastName,email);
        reference.setValue(user).addOnCompleteListener(this);
    }


@Override
public void onComplete(@NonNull Task<Void> task) {
    if(task.isSuccessful()){
        Toast.makeText(this, "Inserted User: "+phone+firstName+lastName+email, Toast.LENGTH_SHORT).show();
    }
    else{
        Toast.makeText(this, task.getException().toString(), Toast.LENGTH_SHORT).show();
    }
}

База данных не обновлялась, но тост появился (со всеми данными).

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

Правила

{
  "rules": {
    ".read": "true",
        ".write": "true"
  }
}

enter image description here

build.gradle (приложение)

dependencies {
    implementation platform('com.google.firebase:firebase-bom:26.8.0')
    implementation 'com.google.firebase:firebase-analytics'
    implementation 'com.google.firebase:firebase-auth:20.0.3'
    implementation 'com.google.firebase:firebase-database:19.7.0'

    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    implementation "androidx.browser:browser:1.3.0"
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'

    testImplementation 'junit:junit:4.13.2'

}

';

private void signInWithPhoneAuthCredential(PhoneAuthCredential credential) {
    mAuth.signInWithCredential(credential).addOnSuccessListener(new OnSuccessListener<AuthResult>() {
        @Override
        public void onSuccess(AuthResult authResult) {
            progressDialog.dismiss();
            User user = new User(phone,firstName,lastName,email);
            storeNewUserData();
            Toast.makeText(PhoneAuthActivity.this, "Logged in as "+phone, Toast.LENGTH_SHORT).show();
            startActivity(new Intent(PhoneAuthActivity.this, MainActivity.class));
        }


    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            progressDialog.dismiss();
            Toast.makeText(PhoneAuthActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    });
}

логарифм

2021-03-30 03:41:02.326 15207-15345/com.example.teorialearning E/FirebaseAuth: [GetAuthDomainTask] Error getting project config. Failed with INVALID_CERT_HASH 400
2021-03-30 03:41:02.344 15207-15257/com.example.teorialearning V/FA: Screen exposed for less than 1000 ms. Event not sent. time: 396
2021-03-30 03:41:02.345 15207-15257/com.example.teorialearning V/FA: Activity paused, time: 15824705
2021-03-30 03:41:02.389 15207-15207/com.example.teorialearning E/zzf: Failed to get reCAPTCHA token with error [There was an error while trying to get your package certificate hash.]- calling backend without app verification
2021-03-30 03:41:02.391 15207-15257/com.example.teorialearning V/FA: Activity resumed, time: 15824751
2021-03-30 03:41:02.395 15207-15245/com.example.teorialearning W/System: Ignoring header X-Firebase-Locale because its value was null.
2021-03-30 03:41:02.641 15207-15207/com.example.teorialearning D/MAIN_TAG: onCodeSent:ALiwoWIdFZrl9ResXiUM94aPJW-csmRjdDOqoa9DTOkNQbv2Vf8YN7X6mvBwXgg9MJxEnFUVoE2rWAP2JzpT8QdBcRK2kIi82e_uO3pXW_rC5CZqWgJaqYqPO6nMOxiavmaJELnkSRtTXo6HoYoEY2_CmtVplEbz2Q
2021-03-30 03:41:02.644 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:02.677 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:02.739 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:04.679 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:04.789 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:07.416 15207-15257/com.example.teorialearning V/FA: Inactivity, disconnecting from the service
2021-03-30 03:41:08.627 15207-15245/com.example.teorialearning W/System: Ignoring header X-Firebase-Locale because its value was null.
2021-03-30 03:41:08.668 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:08.685 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:08.691 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:08.696 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:08.755 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:08.936 15207-15245/com.example.teorialearning W/System: Ignoring header X-Firebase-Locale because its value was null.
2021-03-30 03:41:09.147 15207-15245/com.example.teorialearning D/FirebaseAuth: Notifying id token listeners about user ( QgYB9guxYgT2AQbr8u9CVrGnELw2 ).
2021-03-30 03:41:09.149 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:09.178 15207-15257/com.example.teorialearning V/FA: Recording user engagement, ms: 6787
2021-03-30 03:41:09.180 15207-15257/com.example.teorialearning V/FA: Connecting to remote service
2021-03-30 03:41:09.181 15207-15257/com.example.teorialearning V/FA: Activity paused, time: 15831539
2021-03-30 03:41:09.189 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:09.193 15207-15257/com.example.teorialearning V/FA: Connection attempt already in progress
2021-03-30 03:41:09.212 15207-15225/com.example.teorialearning V/FA: onActivityCreated
2021-03-30 03:41:09.229 15207-15257/com.example.teorialearning V/FA: Activity resumed, time: 15831590
2021-03-30 03:41:09.233 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:09.243 15207-15257/com.example.teorialearning V/FA: Connection attempt already in progress
2021-03-30 03:41:09.244 15207-15257/com.example.teorialearning V/FA: Connection attempt already in progress
2021-03-30 03:41:09.295 15207-15257/com.example.teorialearning D/FA: Connected to remote service
2021-03-30 03:41:09.296 15207-15257/com.example.teorialearning V/FA: Processing queued up service tasks: 4
2021-03-30 03:41:09.298 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:09.329 15207-15207/com.example.teorialearning W/IInputConnectionWrapper: finishComposingText on inactive InputConnection
2021-03-30 03:41:09.330 15207-15207/com.example.teorialearning W/IInputConnectionWrapper: finishComposingText on inactive InputConnection
2021-03-30 03:41:11.206 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:13.170 15207-15333/com.example.teorialearning D/EGL_emulation: eglMakeCurrent: 0xae4856c0: ver 3 1 (tinfo 0xae483990)
2021-03-30 03:41:14.310 15207-15257/com.example.teorialearning V/FA: Inactivity, disconnecting from the service
2021-03-30 03:42:02.393 15207-15348/com.example.teorialearning W/FirebaseAuth: [SmsRetrieverHelper] Timed out waiting for SMS.

P.S: Я использую Android studio

Вы должны использовать ValueEventListener для отслеживания изменений в конкретном узле / ветви.

Shubham Panchal 30.03.2021 04:32

Вы пробовали прикрепить к методу setValue () полноценного слушателя? Пожалуйста, ответьте @AlexMamo

Alex Mamo 30.03.2021 09:50

@AlexMamo Я не пробовал, пожалуйста, прикрепите код, чтобы я мог попробовать

FridregJohn 30.03.2021 13:55

@ShubhamPanchal Прикрепите код, чтобы я мог попробовать

FridregJohn 30.03.2021 13:56

reference.setValue (пользователь) .addOnCompleteListener (/ * ... * /);

Alex Mamo 30.03.2021 13:59

@AlexMamo: задача не выполнена, как я могу узнать, почему?

FridregJohn 30.03.2021 14:27

Попробуйте записать сообщение, которое приходит, когда задача не выполняется, верно?

Alex Mamo 30.03.2021 14:28

@AlexMamo Я только что узнал, что onComplete не выполняется ...

FridregJohn 30.03.2021 14:52

Какое тостовое сообщение отображается? Вы также уверены, что у вас есть подключение к Интернету на устройстве / эмуляторе?

Alex Mamo 30.03.2021 15:07

@AlexMamo Я использовал это в своем манифесте: <uses-permission android: name = "android.permission.INTERNET" /> Я не получаю Toast onComplete не выполняется

FridregJohn 30.03.2021 15:11

Скорее всего, у вас нет подключения к Интернету на устройстве / эмуляторе, верно?

Alex Mamo 30.03.2021 15:12

@AlexMamo Я получаю тост в onSuccess (после storeNewUserData ())

FridregJohn 30.03.2021 15:14

@AlexMamo Я не уверен ...

FridregJohn 30.03.2021 15:17

@AlexMamo, но я почти уверен ... Я добавил разрешение

FridregJohn 30.03.2021 15:47

При записи данных в Firebase разрешения Интернета не требуются. Так что, скорее всего, у вас нет подключения к Интернету (разрешение нет) на устройстве.

Alex Mamo 30.03.2021 15:55

@AlexMamo должен ли я использовать свое физическое устройство Android?

FridregJohn 30.03.2021 16:24

@AlexMamo Я пытался использовать свое физическое устройство, но все равно без изменений.

FridregJohn 30.03.2021 16:37

@ShubhamPanchal помощь

FridregJohn 30.03.2021 18:13

@AlexMamo помогите,

FridregJohn 30.03.2021 18:13
0
19
56
0

Другие вопросы по теме