본문 바로가기
개발/Adroid

[android] 20분만에 채팅App만들기 -Firebase(3)

by KEI NETWORK 2019. 10. 29.
728x90

저번시간에 회원가입성공 까지 하였고 이제 회원가입이 성공하였으니 로그인과정을 알아보겠습니다.

 

저번시간에 로그인화면 XML을 만들어보았었습니다.

이제 그부분에서 작업을 시작하겠습니다.

 

먼저 각각 ID먼저 선언부터 하도록하겠습니다.

 

-아래 코드는 MainActivity 에서 이루어지는 작업입니다.

private Button login;private EditText edittext_id, edittext_pw;edittext_id = (EditText) findViewById(R.id.edittext_id);
edittext_pw = (EditText) findViewById(R.id.edittext_password);login = (Button) findViewById(R.id.loginActivity_button_login);

전역변수를 선언후  ID를 선언해주었습니다. 

각각 email,password,login 버튼입니다.

 

 

이후 login 버튼을 눌렀을떄 onClick 이벤트 리스너들 선언후 이안에서 정보의 유무를 판단하겠습니다.

login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

}
});

먼저 아무것도 입력하지않았을때의 예외처리를 먼저 해주겠습니다.

 

if (edittext_id.getText().toString().isEmpty() || edittext_pw.getText().toString().isEmpty()) {
Toast.makeText(getApplicationContext(), "입력 사항을 확인해보세요.", Toast.LENGTH_LONG).show();
return;
}

각각의 입력값이 빈값이면 Toast 메세지로 입력후 return 을 해주게됩니다.

 

이제 로그인에 필요한 FirebaseAuth 선언해줍니다.

private FirebaseAuth mAuth;mAuth = FirebaseAuth.getInstance();

이제 mAuth를 통해 정보가 맞는지 틀린지 확인해보겠습니다.

 

onClick 리스너안에서 정의해줍니다.

mAuth.signInWithEmailAndPassword(edittext_id.getText().toString(), edittext_pw.getText().toString())
.addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {

}
});

 

이메일과 비밀번호를 넣어주며 addOnCompleteListener  리스너로 성공유무의 값을 확인합니다.

 

mAuth.signInWithEmailAndPassword(edittext_id.getText().toString(), edittext_pw.getText().toString())
.addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
startActivity(new Intent(MainActivity.this, Chat.class));
finish();
} else {
Toast.makeText(getApplicationContext(), "실패하였습니다.", Toast.LENGTH_SHORT).show();
}
}
});

성공시 Chat Activity를 만들어주고 성공시 이동시킵니다.

 

다음글은 채팅구성에대해서 알아보겠습니다.

728x90

댓글