막무가내 삽질 블로그
안드로이드 SharedPreferences 본문
SharedPreferences 란 안드로이드 os 내에서 제공하는 저장소라고 생각 한다.
SharedPreferences 는 key값과 value 형태로 저장된다.
예를 들어
key : "name" , value : "아이언맨"
key : "movie" , value : "어벤저스"
key : "where" , value : "영화관"
있다고 하자. 그럼 우리는 해당 key값으로 원하는 value값을 찾을 수 있다.
저장
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = prefs.edit();
editor.putString(key, value);
editor.commit();
PreferenceManager.getDefaultSharedPreferences(context); 는 패키지명으로 저장된다.
prefs 객체 선언 후, eidtor에 대입한다
editor 에 key, value를 넣어준 후 최종저장한다.
호출
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String value = prefs.getString(key, null);
return value;
String 변수 선언후 쉐어드에 저장되어 있던 값을 넣어준다.
나는 SharedPreferences 를 외부 클래스를 만들어서 사용한다.
// public static final String PREFERENCES_NAME = "build"; // 저장 파일이름(xml)
//
// //build 라는 저장소에 모든 값을 저장
// //각 자료형의 DEFAULT 값을 정의함
// public static final String DEFAULT_VALUE_STRING = "";
// public static final boolean DEFAULT_VALUE_BOOLEAN = false;
// public static final int DEFAULT_VALUE_INT = -1;
// public static final long DEFAULT_VALUE_LONG = -1L;
// public static final float DEFAULT_VALUE_FLOAT = -1F;
//
//
// //어디서든 CONTEXT를 통해 읽고 쓰고 할수있음
// private static SharedPreferences getPreferences(Context context){
// return context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE);
// }
//
// //String 값 저장
// public static void setString(Context context, String key, String value){
// SharedPreferences prefs = getPreferences(context);
// SharedPreferences.Editor editor = prefs.edit();
// editor.putString(key, value);
// editor.commit();
// }
//
// //boolean 값 저장
// public static void setBoolean(Context context, String key, boolean value){
// SharedPreferences prefs = getPreferences(context);
// SharedPreferences.Editor editor = prefs.edit();
// editor.putBoolean(key, value);
// editor.commit();
// }
//
//
// //int 값 저장
// public static void setInt(Context context, String key, int value){
// SharedPreferences prefs = getPreferences(context);
// SharedPreferences.Editor editor = prefs.edit();
// editor.putInt(key, value);
// editor.commit();
// }
//
//
// // long 값 저장
// public static void setLong(Context context, String key, long value) {
// SharedPreferences prefs = getPreferences(context);
// SharedPreferences.Editor editor = prefs.edit();
// editor.putLong(key, value);
// editor.commit();
// }
//
//
// // float 값 저장
// public static void setFloat(Context context, String key, float value) {
// SharedPreferences prefs = getPreferences(context);
// SharedPreferences.Editor editor = prefs.edit();
// editor.putFloat(key, value);
// editor.commit();
// }
//
//
// // String 값 로드
// public static String getString(Context context, String key) {
// SharedPreferences prefs = getPreferences(context);
// String value = prefs.getString(key, DEFAULT_VALUE_STRING);
// return value;
// }
//
//
// // boolean 값 로드
// public static Boolean getBoolean(Context context, String key){
// SharedPreferences prefs = getPreferences(context);
// Boolean value = prefs.getBoolean(key, DEFAULT_VALUE_BOOLEAN);
// return value;
// }
//
//
// // int 값 로드
// public static int getInt(Context context, String key) {
// SharedPreferences prefs = getPreferences(context);
// int value = prefs.getInt(key, DEFAULT_VALUE_INT);
// return value;
// }
//
//
// // long 값 로드
// public static long getLong(Context context, String key) {
// SharedPreferences prefs = getPreferences(context);
// long value = prefs.getLong(key, DEFAULT_VALUE_LONG);
// return value;
// }
//
//
// // float 값 로드
// public static float getFloat(Context context, String key) {
// SharedPreferences prefs = getPreferences(context);
// float value = prefs.getFloat(key, DEFAULT_VALUE_FLOAT);
// return value;
// }
//
//
// // 키 값 삭제
// public static void removeKey(Context context, String key) {
// SharedPreferences prefs = getPreferences(context);
// SharedPreferences.Editor edit = prefs.edit();
// edit.remove(key);
// edit.commit();
// }
//
//
// // 모든 저장 데이터 삭제
// public static void clear(Context context) {
// SharedPreferences prefs = getPreferences(context);
// SharedPreferences.Editor edit = prefs.edit();
// edit.clear();
// edit.commit();
// }
저장 위치는
상단에 View > Tools Windows -> Device file Explorer -> /data/data/{packageName}/shared_prefs/
안드로이드 스터디 모집
www.notion.so/fundevjay/Android-ddf96b24265e414fb2d9e8fc5d388b80
'Android' 카테고리의 다른 글
FragmentPagerAdapter 와 FragmentStatePagerAdapter 의 차이 (0) | 2019.09.13 |
---|---|
안드로이드 파이어베이스를 사용하여 저장된 데이터 수정,삭제 (2) | 2019.06.03 |
안드로이드 파이어베이스 게시글데이터 저장, 불러오기 (1) | 2019.06.02 |
안드로이드 파이어베이스로 사용자 프로필 저장 (3) | 2019.06.02 |
안드로이드 파이어베이스 스토리지에 사진 저장 (0) | 2019.06.01 |