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
'안드로이드' 카테고리의 다른 글
안드로이드 자바)3. 파이어베이스 실시간 데이터베이스 접근(저장,읽기) (0) | 2021.12.23 |
---|---|
안드로이드 자바)2. Fragment에서 버튼클릭 이벤트 (0) | 2021.12.23 |
안드로이드 앱 외부 데이터베이스 연동(Android<-> PHP <-> Maria DB) 2 . DB 가져와서 출력하기 PHP,JSON (3) | 2021.06.03 |
안드로이드 앱 외부 데이터베이스 연동(Android<-> PHP <-> Maria DB) 1. 기본 설치 (0) | 2021.06.03 |
안드로이드 RecyclerView 사용법 (튜토리얼 ) (0) | 2020.11.23 |