728x90

회원가입


 

0. 반드시 파이어베이스와 앱과 연동되어있어야함

 

1. 파이어베이스에 접속하여

 

Authemtication에서 이메일/비밀번호의 상태를 반드시 사용설정됨으로 수정

 

2. 

 

전역변수로 FirebaseAuth 변수 생성

private FirebaseAuth firebaseAuth;

 

OnCreate함수 안에서 

firebaseAuth = FirebaseAuth.getInstance();

if(email.length() > 8){
                    Log.d(TAG,"등록 버튼" + email + " , " + pwd);
                    final ProgressDialog mDialog = new ProgressDialog(register.this);
                    mDialog.setMessage("가입중입니다....");
                    mDialog.show();

                    //파이어베이스에 신규계정 등록하기
                    firebaseAuth.createUserWithEmailAndPassword(email,pwd).addOnCompleteListener(register.this, new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {

                            //가입 성공시
                            if(task.isSuccessful()){
                                mDialog.dismiss();

                                FirebaseUser user = firebaseAuth.getCurrentUser();
                                String email = user.getEmail();
                                String uid = user.getUid();


                                //해쉬맵 테이블을 파이어베이스 데이터베이스에 저장
                                HashMap<Object,String> hashmap = new HashMap<>();

                                hashmap.put("uid",uid);
                                hashmap.put("email",email);

                                FirebaseDatabase database = FirebaseDatabase.getInstance();
                                DatabaseReference reference = database.getReference("Users");
                                reference.child(uid).setValue(hashmap);

                                Intent intent = new Intent(register.this, MainActivity.class);
                                startActivity(intent);
                                finish();
                                Toast.makeText(register.this,"회원가입에 성공",Toast.LENGTH_SHORT).show();

                            }else{
                                mDialog.dismiss();
                                Toast.makeText(register.this, "이미 존재하는 아이디 입니다.", Toast.LENGTH_SHORT).show();
                                return; //해당 메소드 진행을 멈추고 빠져나감
                            }
                        }
                    });

                }else{
                    Toast.makeText(register.this, "올바른 이메일 주소를 입력해주세요", Toast.LENGTH_SHORT).show();
                    return;
                }

 


 

firebaseAuth.createUserWithEmailAndPassword.(이메일,패스워드).addOnCompleteListener(activity, OnCompleteListener<AuthResult>())

 

 

addOnCompleteListener

 

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
        .setDisplayName("Jane Q. User")
        .setPhotoUri(Uri.parse("https://example.com/jane-q-user/profile.jpg"))
        .build();

user.updateProfile(profileUpdates)
        .addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "User profile updated.");
                }
            }
        });

 

 

 


로그인

 

String email = mEmailText.getText().toString().trim();
String pwd = mPasswordText.getText().toString().trim();
firebaseAuth.signInWithEmailAndPassword(email,pwd).addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
    @Override
    public void onComplete(@NonNull Task<AuthResult> task) {
        if(task.isSuccessful()){
            Intent intent = new Intent(MainActivity.this, CopyTrade.class);
            startActivity(intent);
        }else{
            Toast.makeText(MainActivity.this,"로그인 실패",Toast.LENGTH_SHORT).show();
        }
    }
});

 

 

 

728x90

+ Recent posts