반응형
www.youtube.com/watch?v=cyqgR8VTC1Y
준비물 : 함수 네개
더보기
예? 데이터 저장하는데 함수가 네개나요?
황당하고 신기한 앱개발의 세계...
나름 이틀 밤동안 강의 들으면서 열심히 만든 앱 어무니께 보여드렸는데 엥? 반응이였음.. 너무 필터없는 엥? 반응..ㅠ
맞다 빠질 수 없는 홍드로이드님 강좌찬사
아니 찬사할 내용이 계속 생김...
무작정 그냥 함수 쓰고 그런게 아니라 ㄹㅇ 실전에서 쓸 수 있게 시간 아낄 수 있는 방법으로 섬세하게 알려주심,, 진짜 현직 개발자의 클라스..
암튼 하루에 너무 배운게 많다보니 잡담도 길어지는듯
1. saveData() 사용
override fun onDestroy() { //앱이 종료되는 시점이 다가올 때 호출
super.onDestroy()
saveData() //값을 저장하는 함수
}
2. loadData() 사용
override fun onCreate(savedInstanceState: Bundle?) { //앱이 최초 실행되었을때 실행.
super.onCreate(savedInstanceState)
setContentView(R.layout.엑티비티이름) // "엑티비티"에 화면 뷰를 연결.
loadData() //저장되어있던 값을 setText
}
낯선 오버라이드 함수.. 라서 익숙한 오버라이드함수와 비교
본격 onDestroy() vs onCreate()
onDestroy() : 앱이 종료되는 시점에서 호출되는 함수
onCreate() : 앱이 시작되는 시점에서 호출
그리고 1번과 2번을 입력하면 당연하게도 오류가 난다. 없는 함수를 사용하려 했으니까..
그래서 해당 함수를 만들어준다. 근데 그 오류난곳에 alt(option)+enter 하면 자동으로 함수를 만들어준다.
신세계....!!!
3. saveData() 만들기
private fun saveData() {
val pref = getSharedPreferences("pref", 0)
// 이 앱에 "pref" 이름으로 0번 옵션으로 저장 (보통 0으로 한다)
val edit = pref.edit() // 수정모드
edit.putString("name", 텍스트뷰이름.text.toString())
//첫번쨰 인자에는 키 값, 두번째 인자에는 실제 담아둘 값
// "텍스트뷰"의 텍스트를 문자열로 edit에 넣고 "name"키로 잠근다
edit.apply() //저장완료
}
4. loadData() 만들기
private fun loadData() {
val pref = getSharedPreferences("pref", 0)
텍스트뷰이름.setText(pref.getString("키","")
//첫번째 인자에는 저장시 키값, 두번째 인자에는 키 값에 데이터가 없을때의 대체값
// "텍스트뷰"를 "키" 로 열어서 "pref" 에 저장된 값으로 설정한다. 만약 저장한값 없으면 ""
}
반응형
'_ > Velog' 카테고리의 다른 글
띄어쓰기 (0) | 2021.06.03 |
---|---|
[ html / css ] h1 태그와 h2 태그가 한줄에 나오게 하기 = inline 속성 (0) | 2021.06.03 |
[html / css] css에서 색상값을 변수로 지정하기 (0) | 2021.06.03 |
Styled Components (0) | 2021.06.01 |
[Visual Studio Code] 까먹지않으려고 적어두는 터미널 명령어 (0) | 2021.05.20 |