UroA 개발 블로그

[Android] SharedPreference 사용하기 ① 본문

Programming/Android

[Android] SharedPreference 사용하기 ①

UroA 2015. 11. 25. 12:52

SharedPreference 사용하기 ①

 

 

■ SharedPreference 란?

 

- 액티비티나 어플리케이션의 설정값, UI 정보 등 간단한 정보들을 저장하기 위한 클래스

- [Key - value] 형태로 자료를 저장 (xml 기반의 데이터)

 

 

SharedPreference를 사용하는 이유?

 

- 데이터의 저장은 파일이나 데이터베이스(SQLite)를 이용하여 저장 가능합니다. 그러나 보통 데이터의 저장보다는 UI 상태를 저장할때는 SharedPreference를 사용합니다.

 

간단하게 말하면, 안드로이드가 모바일 기기를 주 목적으로 하다보니, 메모리가 부족할 경우 메모리에 올라와있는 것들을 종료시킬 가능성이 높습니다. 만약, 메시지를 입력하다가 전화가 와서 전화를 받았는데 마침 다른 어플리케이션들이 너무 많이 실행되고 있어서 메시지 어플리케이션이 강제종료되었다고 한다면 지금까지 입력했던 메시지는 다 날아가버려야 할까요? 그래선 안됩니다.

그리고, 어플리케이션 중 특정 설정을 저장해야 하는 경우가 있습니다. 메신저를 예로 들면 자동 로그인, 비밀번호 저장 여부 설정 등이 됩니다. 이러한 설정들도 Shared Preferences를 이용하여 저장됩니다.

이렇게, 액티비티 및 어플리케이션이 메모리 부족 등에 인해 종료된 후, 사용자가 다시 그 어플리케이션을 실행시켰을 때 종료되기 전 모습 그대로 다시 복구시켜주는 역할을 바로 Shared Preferences를 이용해 해줄 수 있습니다.

 

 

■ 인스턴스 생성

 

- sharedPreferences 인스턴스를 생성해야 사용 가능

- getSharedPreferences("이름", 모드) 메소드를 사용

 

 

■ 데이터 불러오기

 

- getString("Key", "해당 key에 해당하는 값이 없는 경우 반환 값")

- String에 Int, Boolean 등 다른 데이터 타입도 들어갈 수 있음

 

■ 데이터 저장

 

- putString("Key", "해당 key에 해당하는 값")

- String에 Int, Boolean 등 다른 데이터 타입도 들어갈 수 있음

 

 

■ 데이터 저장

 

- remove("key") -> 해당 키에 해당하는 값 삭제

- clear() -> 모든 데이터 삭제

 

 

■ 저장 및 삭제에 필요한 사항 

 

- 저장 삭제는 SharedPreference.Editor 인스턴스 필요

- commit() 메소드를 사용해야 변경사항 저장이 완료

 

 

 

 

 

Comments