I.K.Picture & IT Info.

SharedPreference 사용 방법 본문

Development/Java/Android

SharedPreference 사용 방법

helpful-intruder 2014. 4. 22. 15:20
반응형

안드로이드에는


앱 자체에 저장 하는 방식이 SQLite 와 같은 데이터베이스가 있지만


기본적으로 데이터 양이 그리 크지 않으면 데이터베이스를 쓰는 것이 부담스럽게 됩니다.


이럴 때 사용하는 것이 바로 SharedPreference가 되겠는데요~


SharedPreference 를 이용하여 저장 하는한 데이터를


Boolean, Integer, Float, Long, String 


입니다.


그렇기 때문에 이렇게 사용하는 것이 대부분 설정 값, 액티비티간 간단한 교환 값 등이 되겠는데요.


일단 사용하기 위해서는 앱 자체의 패키지 이름이 필요합니다~


간단 간단하게 사용 할 수 있어,


전 별도 자바 클래스로 SharedPreference를 만들어 사용하고 있죠^^


그리 어려운 방법이 아니므로 소스를 공개 해보려고 합니다~



/**
* SharedPreference Class
* Writer intruder(Kwangseob Kim)
*/


import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;

public class SharedPreference {
	private final String PACKGE_NAME = "클래스가 있는 패키지명 ex)com.test.until";
	private SharedPreferences pref;
	
	//SharedPreference 생성자 
	public SharedPreference(Context context){
		pref = context.getSharedPreferences(PACKGE_NAME, Activity.MODE_PRIVATE);
	}

	//String 값 저장 함수
	public void setStringPreferences(String key, String value){
		 SharedPreferences.Editor editor = pref.edit();
		 editor.putString(key, value);
		 editor.commit();	
	 }
	//Boolean 값 저장 함수
	public void setBooleanPreferences(String key, boolean value){
		 SharedPreferences.Editor editor = pref.edit();
		 editor.putBoolean(key, value);
		 editor.commit();	
	 }

	//String 값 불러오는 함수
	// value 는 값이 없었을 때 출력 되는 값
	public String getStringPreferences(String key, String value){
		String get_value = pref.getString(key, value);
		return get_value;
	}
	
	//Boolean 값 불러오는 함수
	// value 는 값이 없었을 때 출력 되는 값
	public boolean getBooleanPreferences(String key, boolean value){
		boolean get_value = pref.getBoolean(key, value);
		return get_value;
	}
	//특정 키 값을 검색하여 삭제
	public void removePreferences(String key){
		 SharedPreferences.Editor editor = pref.edit();
		 editor.remove(key);	
		 editor.commit();	 
	}
	//모든 SharedPreference 값을 삭제
	public void removeAll(){
		SharedPreferences.Editor editor = pref.edit();
		editor.clear();
		editor.commit();
	}
}


반응형
Comments