본문 바로가기

프로그래밍/안드로이드

[안드로이드/Android] SharedPreferences

Android SharedPreferences

 

안드로이드로 개발을 하시다 보면 간단한 String 문자열등 저장해야 할 경우가 생깁니다.

일반적으로는 DB를 써야하는데 DB를 쓰기에는 너무 간단하여 낭비다~~~ 라고 생각되신다면 요녀석 SharedPreferences를 추천합니다.

 

 

SharedPreferences는 어플리케이션 내에 파일 형태로 저장된 녀석입니다. SharedPreferences는 파일 형태로 저장되다 보니 앱이 종료되거나 하더라도 지워지지 않고 유지가 된답니다.

앱을 지운다면 당연히 사라지게 되겠죠.

 

SharedPreferences는 아래와 같이 위치하게 됩니다.

예를 들어 jwandroid.test.aaa 라는 패키지로 test_01 이라는 Sharedpreferences를 만드셨다면 이녀석은

 

data/data/jwandroid.test.aaa/shared_prefs/test_01.xml  형태로 저장되어 있습니다.

 

사용법은 아주 간단하니 아래를 참고해 주세요.

 

package com.jw.test.number;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;

 

public class Ch01_SharedPreferences extends Activity {
 private SharedPreferences mPreference;
 private String preName = "ch01_sharedPre";


 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
 }

 

 private void getMySharedPreferences(String _key) {
  if(mPreference == null){
   mPreference = getSharedPreferences(preName, MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE);
  }
  mPreference.getString(_key, "");
 }

 

 private void setMySharedPreferences(String _key, String _value) {
  if(mPreference == null){
   mPreference = getSharedPreferences(preName, MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE);
  }  
  SharedPreferences.Editor editor = mPreference.edit();
  editor.putString(_key, _value);
  editor.commit();
 }


 private void deleteMySharedPreferences(String _key) {
  if(mPreference == null){
   mPreference = getSharedPreferences(preName, MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE);
  }  
  SharedPreferences.Editor editor = mPreference.edit();
  editor.remove(_key);
  editor.commit();
 }

 

 

 private void deleteMySharedAllPreferences() {
  if(mPreference == null){
   mPreference = getSharedPreferences(preName, MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE);
  }  
  SharedPreferences.Editor editor = mPreference.edit();
  editor.clear();
  editor.commit();
 }
}

 

궁금하신것 들은 댓글 달아 주세요.