지금까지 만들어온 앱들은 , 앱이 종료되는 순간 그동안 작성한 모든 데이터를 잃어버리게 됨 -> save 기능이 없는 앱
전원 공급 여부 / 앱 종료 여부와 관계없이 데이터를 (반)영구적으로 보관하고자 할때 사용하는 클래스
안드로이드 기기내에다, 특정[변수]를 저장 / 불러올때 사용.
자동로그인 => 서버에서 내려주는 토큰값을 기기에 저장해서 , 앱이 껐다 켜진다 해도 로그인 상태를 유지.
체크 박스 체크 여부 등의 간단한 변수단위 데이터 저장.
단순 기능 수행을 담당하는 클래스들은 ,utils 패키지에 모아서 관리.
Context 변수의 도움을 받아서 처리하게됨.
전체사항 : 모든 코드를 companion object {}안에 작성
1) 어떤 이름으로 SharedPreferences를 사용하는지 이름을 변수로 저장.
-> 메모장 파일 이름에 대응되는 개념.
private val prefName = "프로젝트이름Pref"
2)저장해줄 데이터 항목명을 변수로 저장. -> 자동완성을 이용해서 실수를 줄이기 위한 목적.
private val 항목이름 = "항목이름"
3)각 항목에 대한 setter/getter 함수 작성
// setter
fun set항목이름 (context: Context, 저장할값변수 : 상황별자료형) {
val pref = context.getSharedPreferences(prefName, Context.MODE_PRIVATE)
pref.edit().put자료형(항목이름자동완성, 저장할값변수).apply()
}
// getter
fun get항목이름 (context: Context) : 자료형 {
val pref = context.getSharedPreferences(prefName, Context.MODE_PRIVATE)
pref.get자료형(항목이름자동완성, 저장된게없으면줄기본값)!!
}
오늘도 고생 많으셨습니다 !