일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- java hashmap sorting
- progressbar rounding
- android progressbar setIndeterminateDrawable not working
- nougat
- HashMap
- bindservice
- Messenger
- progressbar custom marshmallow
- app to app transaction
- android layout border
- android google account add call
- android border custom
- android device add account
Archives
- Today
- Total
기타치는 개발자
[Android]간단한 프리퍼런스 사용하기 본문
안드로이드에서 DB를 생성하여 데이터를 저장 및 관리를 하게됩니다. 하지만 간단한 설정값(push 허용, 자동로그인여부) 등의 값들은 DB를 생성하고 관리하는데 너무 비효율적인면이 있습니다.
이럴경우에 SharedPreferences를 사용하여 간단한 값 관리를 할수있습니다.
간단한 사용은 아래와 같습니다
저장 :
1 2 3 4 5 6 | SharedPreferences prefs = getSharedPreferences("preferrence_name", MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); editor.putString("key", text); editor.commit(); | cs |
호출 :
1 2 | SharedPreferences prefs = getSharedPreferences("preferrence_name", MODE_PRIVATE); String text = prefs.getString("key", ""); | cs |
SharedPreferences 에 "preferrence_name" 으로 구분되어 저장되고
값은 KEY_MY_PREFERENCE 값에 키를 구성하여 저장 또는 불러온다 .
실제로 개발 문서에 아래와같이 되어있습니다.
Note: This class does not support use across multiple processes.
실제로 여러 프로세스에서 동시에 사용 불가능함 으로 싱글톤 객체로 모듈을 생성 후 사용하시면될것같습니다
간단한 모들 소스는 아래와 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | public class PreferenceUtil { //프리퍼런스 KEY값 public static final String PREFERENCE_NAME="preference_nm"; private static PreferenceUtil preferencemodule = null; private static Context mContext; private static SharedPreferences prefs; private static SharedPreferences.Editor editor; public static PreferenceUtil getInstance(Context context) { mContext = context; if (preferencemodule == null) { preferencemodule = new PreferenceUtil(); } if(prefs==null){ prefs = mContext.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); editor = prefs.edit(); } return preferencemodule; } public void putIntExtra(String key, int value) { editor.putInt(key, value); editor.commit(); } public void putStringExtra(String key, String value) { editor.putString(key, value); editor.commit(); } public void putLongExtra(String key, long value) { editor.putLong(key, value); editor.commit(); } public void putBooleanExtra(String key, boolean value) { editor.putBoolean(key, value); editor.commit(); } public int getIntExtra(String key) { return prefs.getInt(key, 0); } public String getStringExtra(String key) { return prefs.getString(key, ""); } public long getLongExtra(String key) { return prefs.getLong(key, 0); } public boolean getBooleanExtra(String key) { return prefs.getBoolean(key, false); } public void removePreference(String key) { editor.remove(key).commit(); } public boolean containCheck(String key) { return prefs.contains(key); } } | cs |
1 2 3 | boolean autologin=PreferenceUtil.getInstance(this).getBooleanExtra("AUTOLOGIN"); //출력 PreferenceUtil.getInstance(this).putBooleanExtra("AUTOLOGIN",true); //입력 | cs |
'안드로이드' 카테고리의 다른 글
[Android]Intent 사용하여 단말 구글계정 등록하기호출 (0) | 2016.06.28 |
---|---|
[Android]ProgressBar IndeterminateDrawable적용하기 및 곡선 처리 (5) | 2016.06.15 |
[Android]ORMLite 적용하기 (0) | 2016.05.27 |
[Android]SwipeRefreshLayout 활용하기 (0) | 2016.05.26 |