@Override
public void onResponse(Call<UserRes> call, Response<UserRes> response) {
dismissProgress();
if (response.isSuccessful()){
UserRes userRes = response.body();
SharedPreferences sp = getSharedPreferences(Config.PREFERENCE_NAME, MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("token", userRes.access_token);
editor.apply();
// 이상 없으므로, 메인 액티비티를 실행한다.
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
finish();
} else if (response.code() == 400){
Toast.makeText(LoginActivity.this, "회원가입이 되지 않은 이메일이거나 비번이 틀립니다.", Toast.LENGTH_SHORT).show();
return;
} else if (response.code() == 500){
Toast.makeText(LoginActivity.this, "db 처리에 문제가 있습니다.", Toast.LENGTH_SHORT).show();
return;
} else {
Toast.makeText(LoginActivity.this, "잠시 후 다시 이용하세요.", Toast.LENGTH_SHORT).show();
return;
}
}
@Override
public void onFailure(Call<UserRes> call, Throwable t) {
dismissProgress();
Snackbar.make(btnLogin, "통신 실패", Snackbar.LENGTH_SHORT).show();
}
통신에 성공 했을 때 코드 작업 작성하는 부분인 onResponse() 함수 안에
if-else문으로 서버의 rest api 개발 시 작성한 상태 코드(status code) 별로 처리한다.
'Android Studio' 카테고리의 다른 글
[Android Studio] Retrofit2 라이브러리를 이용해 RecyclerView 화면 처리하기 (0) | 2024.01.04 |
---|---|
[Android Studio] 유저에게 날짜 / 시간 정보 입력받기 DatePickerDialog(), TimePickerDialog() + 받아올 때 문자열 가공 (1) | 2024.01.04 |
[Android Studio] 네트워크로 데이터 처리할 때 사용하는 프로그레스 다이얼로그 만들기 (1) | 2024.01.04 |
[Android Studio] Retrofit2 라이브러리를 이용한 POST로 API 호출하기 (1) | 2024.01.04 |
[Android Studio] Retrofit2 라이브러리 사용을 위한 세팅 방법 (2) | 2024.01.04 |