2018/06/22 - [MOBILE/Android] - 안드로이드에 상태유지(쿠키,세션) API가 없는 이유
2018/08/01 - [MOBILE/Android] - [Android] 안드로이드 로그인/로그아웃 등 쿠키와 세션 유지
이전 포스팅에서 안드로이드 로그인관련 쿠키와 세션 비슷하게 유지하는 방법에 대해 포스팅을 했는데,
찾아보니 WebView 를 사용할 게 아니라면 CookieManager 나 CookieStore 를 굳이 사용하지 않아도 된다. 고 하여
SharedPrefrence 에 유저ID 를 저장해서 로그인을 유지하는 방향으로 개발했다.
근데, 개발하다보니 유저ID 를 가져오는 경우가 생각보다 많아서....
그냥 재사용성을 높혀 사용하기 편하게 SharedPrefrence Bean 을 만들었다.
(메소드명은 우리에게 친숙한 setAttribute 와 getAttribute, removeAttribute 로 사용함 !)
# 사용방법
1. 값 저장
//사용자정보 내장메모리에 저장
SharedPreference.setAttribute(getContext(), "userId", userId.getText().toString());
2. 값 불러오기
SharedPreference.getAttribute(getContext(), "userId");
3. 1,2 번을 사용하기 위한 SharedPreference Bean 클래스
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
public class SharedPreference {
// 값 저장
public static void setAttribute(Context context, String key, String value){
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = prefs.edit();
editor.putString(key, value);
editor.commit();
}
// 값 읽기
public static String getAttribute(Context context, String key){
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
return prefs.getString(key, null);
}
// 데이터 삭제
public static void removeAttribute(Context context, String key){
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = pref.edit();
editor.remove(key);
editor.commit();
}
// 모든 데이터 삭제
public static void removeAllAttribute(Context context){
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = pref.edit();
editor.clear();
editor.commit();
}
}
반응형
'MOBILE > Android' 카테고리의 다른 글
20180802 오늘자 안드로이드 정리 (0) | 2018.08.02 |
---|---|
안드로이드 Buttom bar 애니메이션 (Shifting) 제거하기 (0) | 2018.08.02 |
[Android] 안드로이드 로그인/로그아웃 등 쿠키와 세션 유지 (0) | 2018.08.01 |
안드로이드 ToolBar 사용하는 방법 (0) | 2018.08.01 |
안드로이드 XML 정리 (0) | 2018.07.31 |
댓글