인코딩의 Decoding

728x90
반응형

안드로이드에서 key-value 방식으로 간단하게 데이터를 저장하는 방식은 크게 두가지가 있습니다.

 

1. activity instance에 저장 ( 동일 app 동일 user Session에 유효)

2. Shared preference에 저장 ( 동일 app 다른 user Session에 유효 - instance와 달리 app이 재부팅되도 유지)

 

오늘은 Shared preference에 저장하는 방식에 대해서 알아보겠습니다.

사용법은 간단하지만 Shared preference는 작은 용량의 데이터를 저장하는데 유용한 클래스입니다.

 

- MainActivity.java SharedPreferences 객체를 사용한다고 가정

 

1) SharedPreferences Object와 SharedPreferences 파일 이름에 대한 변수 필요 --> 선언

 

private SharedPreferences mPreferences;
private String SharedPrefFile = "com.example.android.SharedPreferences";

Shared preference 파일 이름으로는 보통 package이름을 많이 사용합니다.

 

2) onCreate() 메소드에 ShredPreferences 객체 선언

mPreferences = getSharedPreferences(SharedPrefFile, MODE_PRIVATE);

 

3) SharedPreferences에 데이터를 넣는건 onPause()에서 수행

- SharedPreferences 객체에 edit()라는 메소드로 Editor 생성 --> put 메소드로 데이터 입력

- apply()메소드로 적용

@Override
protected onPause(){
	super.onPause();
    SharedPreferences.Editor preferencesEditor = mPreferences.edit();
    
    //데이터입력
    preferencesEditor.putString("key1","value1");
    preferencesEditor.putInt("key2",123);
    //적용
    preferencesEditor.apply();
}

 

4) Activity가 재생성 될때 onCreate()에서 SharedPreferences 객체에서 데이터 불러오기

- 불러올때는 Editor 객체 말고 SharedPreferences 객체 사용 --> get 메소드로 불러온다.

//get 메소드의 첫번째 인자는 key값 , 두번째 인자는 key값에 맞는 데이터가 없을 경우 기본값
String example1 = mPreferences.get("key1","test");

Int example2 = mPreferences.get("key2",0);

 

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band