Исключительная ситуация базы данных Firebase - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь проверить пользователя с помощью Firebase Phone Authentication, и, когда пользователь успешно подтвержден, я хочу добавить пользователя в базу данных Firebase Realtime. Итак, после успешной проверки OTP я получаю фатальное исключение при добавлении пользователя в базу данных.

Код для добавления пользователя в базу данных -

private void addPhoneNoToDataBase(final String phoneNo) {
    DatabaseReference rootReference = FirebaseDatabase.getInstance().getReference();
    Query checkUser = rootReference.child("users").orderByChild("phone").equalTo(phoneNo);
    checkUser.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            if(!dataSnapshot.exists())
            {
                rootnode = FirebaseDatabase.getInstance();
                reference = rootnode.getReference("users");
                UserHelperClass user = new UserHelperClass(phoneNo);
                reference.child("+91"+phoneNo).setValue(user);
                Toast.makeText(VerifyPhone.this, "Registeration successful", Toast.LENGTH_SHORT).show();
                callProfileActivity();

            }
            else{
                callProfileActivity();
            }
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
}

Я получаю ошибку при этом в приведенном выше методе - reference.child("+91"+phoneNo).setValue(user);

Исключение, которое я получаю -

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.resumeguide, PID: 15567
com.google.firebase.database.DatabaseException: No properties to serialize found on class com.example.resumeguide.UserHelperClass
    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper$BeanMapper.<init>(com.google.firebase:firebase-database@@16.0.4:535)
    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.loadOrCreateBeanMapperForClass(com.google.firebase:firebase-database@@16.0.4:317)
    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.serialize(com.google.firebase:firebase-database@@16.0.4:166)
    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.convertToPlainJavaTypes(com.google.firebase:firebase-database@@16.0.4:60)
    at com.google.firebase.database.DatabaseReference.setValueInternal(com.google.firebase:firebase-database@@16.0.4:292)
    at com.google.firebase.database.DatabaseReference.setValue(com.google.firebase:firebase-database@@16.0.4:166)
    at com.example.resumeguide.VerifyPhone$4.onDataChange(VerifyPhone.java:183)
    at com.google.firebase.database.Query$1.onDataChange(com.google.firebase:firebase-database@@16.0.4:183)
    at com.google.firebase.database.core.ValueEventRegistration.fireEvent(com.google.firebase:firebase-database@@16.0.4:75)
    at com.google.firebase.database.core.view.DataEvent.fire(com.google.firebase:firebase-database@@16.0.4:63)
    at com.google.firebase.database.core.view.EventRaiser$1.run(com.google.firebase:firebase-database@@16.0.4:55)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:228)
    at android.app.ActivityThread.main(ActivityThread.java:7782)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:981)

Я попытался сделать переменную phoneNo как publi c, но она не сработала. Я застрял здесь, любая помощь будет оценена.

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