마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 파이어베이스 uid 질문드립니다

0 추천

push() 를 쓰다 데이터를 가져올때 문제가 생긴걸 알고 급하게 uid로 바꾸는 중인데 

 

주석부분을 해제하면 push 로는 제대로 작동합니다 하지만 아래코드처럼 바꾸면 auth에는 올라가지만 리얼타임 데이터베이스에는 올라가지 않습니다 어떤게 잘못된걸까요? ... 안드로이드 잘하시는분 미흡하지만 지도 부탁드립니다 

 

회원가입 코드입니다 

 

Oncreate 부분

 

btn.setOnClickListener(new View.OnClickListener() {
            @Override
           public void onClick(View v) {
                createUser(email.getText().toString() , password.getText().toString());


/*                User_model user_model = new User_model(email.getText().toString(),name.getText().toString(),password.getText().toString(), phone.getText().toString(),point.getText().toString());
             databaseReference.child("User1").push().setValue(user_model);
*/
               Intent intent = new Intent(member_regist.this , member_regist_complete.class);
                startActivity(intent);
                finish();
            }
        });
private void createUser(final String email , final String password ){
    mAuth.createUserWithEmailAndPassword(email , password)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
               public void onComplete(@NonNull Task<AuthResult> task) {
                    if(task.isSuccessful()){

                        User_model user_model = new User_model();
                        user_model.userName =name.getText().toString();
                        String uid = task.getResult().getUser().getUid();
                        FirebaseDatabase.getInstance().getReference().child("Users").child(uid).setValue(user_model);

                        Toast.makeText(getApplicationContext(),"회원가입성공" , Toast.LENGTH_LONG).show();
                    }
                    else {
                        loginUser(email,password);
                        Toast.makeText(getApplicationContext(),"회원가입 실패" , Toast.LENGTH_LONG).show();
                    }
                }
            });
}
public String userName;
public User_model(){}
public void setUserName (String userName){
    this.userName=userName;
}
public  String getUserName(){
    return userName;
}

 

공과근성 (6,020 포인트) 님이 2019년 5월 11일 질문

1개의 답변

0 추천
FirebaseAuth.AuthListener가 빠진건 아닌가요? task.getResult().getUser().getUid()값이 로그에 찍힌다면 아마 인증콜백리스너를 안쓰셔서 그런듯 합니다. 저 리스너가 있어야 사용자 가입, 로그인, 전환같은 액션을 캐치할수 있어요.
익명사용자 님이 2019년 5월 11일 답변
...