이 글은 이것이 안드로이드다 with 코틀린(개정판)를 참고하여 작성하였습니다.
작성자 : 강다인
개발환경은 Windows, Android Studio입니다.
Shared preference는 파일보다는 비교적 적은 데이터 혹은 설정값을 저장할 때 사용합니다.
Shared Prefernence를 사용하기 위해서 xml 탭에서 ImageVies와 textView 위젯을 사용하여 다음과 같이 화면을 구성합니다.
Shared preference를 사용하기 위해서는 우선 Shared preference를 가져와야 합니다.
가져오는 방법은 getSharedPreferences 메서드를 사용합니다.
val shared = getSharedPreferences("파일명", MODE_PRIVATE)
다음으로 first_open에 “key first open”을 key로 가지고 default 값을 false로 가지는 val을 지정해준다. (default 값이 false이기 때문에 앱을 처음 실행시 false값을 가진다.)
val first_open = shared.getBoolean("key_first_open", false)
if함수를 이용해서 first_open값이 ture인 경우에 이미지(id:Hello)가 사라지게 코드를 작성한다.
앱이 처음 실행된 경우 first_open의 값이 false이므로 이미지 사라지지 않고 그대로 있는다.
if(first_open){
binding.Hello.visibility = View.GONE
}
다음 수정을 위해서 editor를 꺼내고 앱이 실행된 경우 first_open의 값을 false에서 ture로 바꿔준다. 이 때 shared를 사용하는데 Shared에 값을 저장할 때는 edit라는 매서드를 사용한다.
val editor = shared.edit() //수정을 위한 에디터를 꺼낸다
editor.putBoolean("key_first_open", true)
editor.commit()
이렇게 되면 앱이 한 번이라도 실행되고 나면 first_open의 값이 true가 되어서 이미지(id:Hello)가 사라진다.
이제 에뮬레이터를 앱을 처음 실행하면 의도한대로 이미지(id:Hello)가 있는 것을 확인할 수 있다.
앱을 종료하고 다시 실행하면 아래와 같이 이미지(id:Hello)가 없는 것을 확인할 수 있다.
DeviceFileExplorer를 통해서 앱 데이터 xml에 firs_open값이 true임 또한 확인할 수 있다.
'GDSC HUFS 3기 > Android with Kotlin Team 3' 카테고리의 다른 글
[3팀] 17 Room 데이터베이스 (0) | 2021.11.30 |
---|---|
[3팀] Android와 SQLite 데이터베이스 (0) | 2021.11.30 |
[3팀] 16 파일 입출력 (0) | 2021.11.30 |
[3팀] 14-8 화면 구성하기: 커스텀 위젯 (0) | 2021.11.14 |
[3팀] 14-7 화면 구성하기: 커스텀 뷰 이용하기 (0) | 2021.11.14 |