본문 바로가기
MOBILE/Android

[Android] 쿠키와 세션 유지2 - SharedPrefrence Bean 생성

by 지구 2018. 8. 1.

이전 포스팅에서 안드로이드 로그인관련 쿠키와 세션 비슷하게 유지하는 방법에 대해 포스팅을 했는데,
찾아보니 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();
    }

}
 

 

반응형

댓글