onCreate -> 초기화 하는 곳
MainActivity.kt
//onCreate 내부코드
//저장된 데이터를 로드하는 코드
loadData() // edit text 저장된 값을 setText
//이하 onCreate 밑에 작성(외부)
private fun loadData(){ // 클래스 내부 접근시에 private
val pref = getSharedPreferences(name: "pref", mode: 0)
// 수정모드 필요없음
et_hello.setText(pref.getString("name", "")) // 1번째 인자 : 저장할 당시 키값, 2번째 인자 : 키값에 데이터 없을경우 대체 값
}
private fun saveData() {
// name, mode:저장옵션 (주로0)
val pref = getSharedPreferences(name: "pref", mode: 0)
val edit = pref.edit() // 수정모드
// put: 주로 꾸러미에 담는 행위
edit.putString("name", et_hello.text.toString()) // 1번째 인자 키값, 2번째 인자 실제 담아둘 값
edit.apply() // 값 저장완료
}
//Ctrl+O 눌러서 Override 패널 오픈
override fun onDestroy() { //액티비티 종료시점이 다가올때 호출
super.onDrestroy()
//edit text 값을 저장
saveData() // Alt+Enter 눌러서 Create function saveData()
}
onCreate : 액티비티가 실행되었을때 최초로만 실행
onDestroy : 액티비티가 종료되는 시점
주로 간단한 값을 저장할때 사용한다
스위치나 푸시 온오프 등
앱에 저장된 값이 삭제되더라도 크게 상관없는 값들을 저장하는 편
앱이 삭제되기 전 또는 데이터 저장공간 비우기를 제외하고는 유지되는 데이터
중요한 데이터는 저장을 권장하지 않는다