Я пытаюсь добавить данные в свою базу данных Firebase с помощью облачного пожарного хранилища, но он не добавляет данные и не показывает никаких ошибок. - PullRequest
0 голосов
/ 03 сентября 2018

Это метод регистрации нового пользователя, и после регистрации я использую идентификатор пользователя для добавления данных пользователя в базу данных:

public void registerNewEmail(final String email, String password, final TextInputLayout mEmailInputTextLayout, final TextInputLayout mPasswordInputLayout, final String firstName, final String lastName){


    mAuth.createUserWithEmailAndPassword(email, password)
            .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {

                    if (task.isSuccessful()) {
                        // Sign in success, update UI with the signed-in user's information
                        Log.d(TAG, "register user : starting ");
                        Log.d(TAG, "createUserWithEmail:success");
                        FirebaseUser user = mAuth.getCurrentUser();

                        assert user != null;
                        userID = user.getUid();

                        Log.d(TAG, "UserID: " + userID);
                        Toast.makeText(mContext,"Sign Up was Successful", Toast.LENGTH_SHORT).show();
                        sendVerificationEmail();

                        addNewUser(firstName, lastName, email, userID);


                    } else {
                        // If sign in fails, display a message to the user.
                        Log.w(TAG, "createUserWithEmail:failure", task.getException());
                        if(task.getException() instanceof FirebaseAuthUserCollisionException){
                            mEmailInputTextLayout.setError(mContext.getString(R.string.email_already_used_error));
                        }
                        if(task.getException() instanceof FirebaseAuthWeakPasswordException){
                            mPasswordInputLayout.setError(mContext.getString(R.string.weak_password));
                        }
                        mProgressBar.setVisibility(View.GONE);
                    }


                }
            });
}

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

/*
* Add new usser to Database
* */
private void addNewUser(String firstName,String lastName,String email,String userID){
    String name = firstName + " " + lastName;
    User user = new User(name,email);
    Log.d(TAG, "addNewUser: " + "userID: " + userID);

    mRef.collection(mContext.getString(R.string.DB_users)).document(userID).set(user);


    mAuth.signOut();
    ((Activity)mContext).finish();
}

1 Ответ

0 голосов
/ 03 сентября 2018

Вы можете заменить mRef.collection(mContext.getString(R.string.DB_users)).document(userID).set(user); на:

db.collection(mContext.getString(R.string.DB_users)).document(userID)
        .set(user)
        .addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void aVoid) {
                Log.d(TAG, "DocumentSnapshot successfully written!");
            }
        })
        .addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Log.w(TAG, "Error writing document", e);
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...