안드로이드에서 SharedPreferences를 써서 값을 저장하고 수정하는거 어떻게 하나요?


제가 시간 값을 저장하고 그걸 받아서 수정하는 그런걸 하려고 하는데요 SharedPreferences로 그런거 하려면 어떻게 해야하나요?

  • 2016년 05월 27일에 작성됨

조회수 202


1 답변


좋아요
0
싫어요
채택취소하기

일단 SharedPreferences 생성은 액티비티의 메소드에서 아래처럼하시면됩니다.

SharedPreferences prefs = this.getSharedPreferences(
      "com.example.app", Context.MODE_PRIVATE);

preferences를 읽는건.

String dateTimeKey = "com.example.app.datetime";

// 현재 시간값을 new Data().getTime()으로 받아온다.
long l = prefs.getLong(dateTimeKey, new Date().getTime()); 

이런식으로 하시면 됩니다.

preferences를 수정하고 저장하는건

Date dt = getSomeDate();
prefs.edit().putLong(dateTimeKey, dt.getTime()).apply();

이런식으로 하세요.

안드로이드 sdk의 샘플 프로젝트에 preferences를 저장하고 받는 예제가 있습니다. 그거의 경로는 <android-sdk-home>/samples/android-<platformversion>/ApiDemos directory 입니다.

또 commit()과 apply()의 차이를 구분하는것도 중요한데. commit()은 값을 성공적으로 저장했을때 true를 리턴하고 아닐때 false를 리턴합니다. commit은 SharedPreferences에 동기적으로 값을 저장합니다. apply()는 2.3버전에 추가되었는데 리턴값이 없습니다. 그리고 값을 즉시 저장하는데 비동기적으로 저장합니다.

  • 2016년 05월 28일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close