Android

SharedPreferences 를 이용한, 데이터 저장과 불러오기

yugyeong 2023. 1. 31. 11:29

SharedPreferences 

데이터 저장

에디트텍스트의 데이터를 변수 sentence 로 가져와서 데이터를 메모리에 저장하는 예시이다.

 

코드를 작성할 때 필요한 저장소 이름을 멤버변수로 작성하였다.  

private static final String SP_NAME = "save_app";

 

 

SharedPreferences sp = getSharedPreferences(SP_NAME, MODE_PRIVATE);

  • 첫번째 파라미터 값은 저장소 이름
  • 두번째 파라미터 값은 우리 앱에서만 사용할 수 있도록 MODE_PRIVATE 로 설정 하였다.

SharedPreferences.Editor editor = sp.edit();

  • 에디터를 생성한다.

editor.putString("sentence", sentence);
editor.putInt("hello", 100);

  • 파라미터는 key, value 값 형태로 넣어준다.
  • 아래의 예시에서는 위 에디터텍스트에서 받아온 데이터 sentence 와 
  • int 형 데이터 100 을 key "hello" 에 저장하였다.

 

String sentence = editSentence.getText().toString().trim();

// 첫번째 파라미터는 저장소 이름을 적어준다.
// 두번째 파라미터는 우리 앱에서만 사용할 수 있도록 한다. => MODE_PRIVATE
SharedPreferences sp = getSharedPreferences(SP_NAME, MODE_PRIVATE);
// 에디터 생성
SharedPreferences.Editor editor = sp.edit();
// 파라미터는 key , value 값
editor.putString("sentence", sentence);
editor.putInt("hello", 100);
editor.apply();

 

데이터 불러오기

저장된 데이터를 불러오는 방법이다.

에디트텍스트에 저장된 데이터를 표시할 것이다.

 

String sentence = sp.getString("sentence", "");

  • sp.getString( key 값, 만약 데이터가 비어있을 때의 디폴트 값 );

int data = sp.getInt("hello", 0);

  • sp.getInt( int 형의 데이터를 가지고 있는 key 값 , 디폴트 값 );

editSentence.setText(sentence + data);

  • 에디트텍스트 변수명 editSentence 에 저장한 데이터를 가져온다

 

// 에디트텍스트에 표시를 하자!
SharedPreferences sp = getSharedPreferences(SP_NAME, MODE_PRIVATE);
String sentence = sp.getString("sentence", "");
int data = sp.getInt("hello", 0);
editSentence.setText(sentence + data);