새로운 미니 창 뜨게 하는 showAlertDialog() 함수
- showAlerDialog 함수
private void showAlertDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setCancelable(true);
builder.setTitle("로그아웃");
builder.setMessage("정말 로그아웃 하시겠습니까?");
builder.setPositiveButton("YES", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.setNegativeButton("NO", null);
builder.show();
}
- 토큰을 가지고 있는 유저가 로그아웃 하는 로직 추가하기 _retrofit2 사용
private void showAlertDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setCancelable(true);
builder.setTitle("로그아웃");
builder.setMessage("정말 로그아웃 하시겠습니까?");
builder.setPositiveButton("YES", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 로그아웃 API 호출하기
// 1.
Retrofit retrofit = NetworkClient.getRetrofitClient(MainActivity.this);
// 2.
UserApi api = retrofit.create(UserApi.class);
// 3. 위에서 가져 온 토큰이 있기 때문에, 그것을 사용한다.
Call<UserRes> call = api.logout("Bearer " + token);
// 4.
call.enqueue(new Callback<UserRes>() {
@Override
public void onResponse(Call<UserRes> call, Response<UserRes> response) {
if(response.isSuccessful()){
// 토큰 사용하지 않으니까 삭제한다.
SharedPreferences sp = getSharedPreferences(Config.SP_NAME, MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("token", "");
editor.commit();
Intent intent = new Intent(MainActivity.this, LoginActivity.class);
startActivity(intent);
finish();
return;
}else {
Toast.makeText(MainActivity.this, "로그아웃에 실패했습니다.", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<UserRes> call, Throwable throwable) {
}
});
}
});
builder.setNegativeButton("NO", null);
builder.show();
'Android Studio' 카테고리의 다른 글
[Android Studio] 시간 데이터를 자바 UTC에서 로컬 타임으로 변환 _SimpleDateFormat (2) | 2024.06.14 |
---|---|
[Android Studio] 액션바 만들고, 해당 엑티비티에서 액션바 보이게 만드는 함수 _onCreateOptionsMenu(Menu menu) (2) | 2024.06.14 |
[Android Studio] 네트워크 라이브러리 _ Retrofit2 라이브러리 사용을 위한 설정 (0) | 2024.06.13 |
[Android Studio] 텍스트에 원하는 설정하기 _ 밑줄 (0) | 2024.06.13 |
[Android Studio] 진행상태를 표시하는 함수 _Dialog를 이용한 progress (0) | 2024.06.13 |