SharedPreferences는 안드로이드 애플리케이션에 지역 데이터를 저장하기 위한 가장 단순하고 빠른 효과적인 방법이다.
SharedPreferences는 애플리케이션을 통해 다양한 키/값 쌍을 저장하고 연관 짓게 해주는 필수 프레임워크이며, 모든
애플리케이션은 자신의 SharedPreferences 클래스와 관련돼 있기 때문에 저장 후 커밋(committed)된 데이터는 모든
사용자 세션을 넘어 유지된다. 하지만 SharedPreferences의 단숨함과 효율적인 특성으로 인해 기본 데이터 타입만 저장
가능하므로 SharedPreferences의 저장 대상에 대해 유념해야 한다.
(기본 데이터 타입 : boolean, float, long, int, string)
<예제>
package jwei.apps.dataforandroid.ch1;
import jwei.apps.dataforandroid.R;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.util.Log;
/**
* Examples for initial case as defined in Chapter 1 of Data for Android.
*
* @author Jason Wei
*
*/
public class SharedPreferencesExample extends Activity {
private static final String MY_DB = "my_db";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SharedPreferences sp = getSharedPreferences(MY_DB, Context.MODE_PRIVATE);
Editor e = sp.edit();
e.putString("testStringKey", "Hello World");
e.putBoolean("testBooleanKey", true);
e.commit();
String stringValue = sp.getString("testStringKey", "error");
boolean booleanValue = sp.getBoolean("testBooleanKey", false);
Log.i("SharedPreferencesExample", "Retrieved string value: " + stringValue);
Log.i("SharedPreferencesExample", "Retrieved boolean value: " + booleanValue);
}
}
-----------------------------------------------------------------------------------------------------------------------------------
getSharedPreferences(String mapName, int mapMode)
MODE 설명
MODE_WORLD_READABLE : 다른 애플리케이션에서 접근 가능하게 맵의 가시성을 설정한다. 내용은 읽기 전용이다.
MODE_WORLD_WRITABLE : 다른 애플리케이션에서 접근 가능하게 맵의 가시성을 설정한다. 읽기와 쓰기 모두 가능.
MODE_MULTI_PROCESS : API 레벨 11 이후로 사용 가능한 모드. 다중 프로세스에 의해 맵을 수정할 수 있게 허용함.
동일한 SharedPreferences 인스턴스에 쓰기 작업이 일어날 수 있다.
'Programing > Android' 카테고리의 다른 글
[SQL/DB] SQLite 데이터베이스 (0) | 2013.11.15 |
---|---|
[SQL/DB] 외부 저장소 메소드 (0) | 2013.11.15 |
[SQL/DB] 내부 저장소 메소드 (0) | 2013.11.15 |
[SQL/DB] SharedPreferences의 일반적인 사용 사례 (0) | 2013.11.15 |