티스토리 뷰

2023.01.10 - [Android 연습/Kotlin 익숙해지기] - Kotlin 연습 SharedPreference (with. 앱 테마 바꾸기)

 

Kotlin 연습 SharedPreference (with. 앱 테마 바꾸기)

2022.12.08 - [옛날에 만든 것들/Java (Android)] - Android Java 연습 1 앱 테마 색상 바꾸기 Android Java 연습 1 앱 테마 색상 바꾸기 해당 글은 GitHub 에 올라간 글이 무엇인지 간략히 설명하는 글입니다. 자세

world-of-larooly.tistory.com

예전에 쓴 글의 업그레이드 버전이라고 생각하시면 될 것 같아요.

 

Android 쪽에서는 값을 Activity 단위로 저장을 하기 때문에 

값을 서로 공유하는 부분을 따로 제작을 해주어야했는데 

 

그걸 좀더 쉽게 바꾸어 저장시켜주는게 Kotpref 입니다. 

(저도 이게 있다는걸 최근에 알았습니다.)

 

즉 앱 단위로 간단한 데이터를 저장할때 쓰기 편한 라이브러리입니다. 

 

오늘 사용할 GitHub

https://github.com/chibatching/Kotpref

 

GitHub - chibatching/Kotpref: Kotpref - Android SharedPreferences delegation library for Kotlin

Kotpref - Android SharedPreferences delegation library for Kotlin - GitHub - chibatching/Kotpref: Kotpref - Android SharedPreferences delegation library for Kotlin

github.com

 

일단 build.gradle(:app) 에 아래 두줄을 추가해주세요. (버전은 위 사이트에서 확인해주세요.)

implementation "com.chibatching.kotpref:kotpref:2.13.1"
implementation 'com.chibatching.kotpref:gson-support:2.13.1'

이제 본격적으로 시작해 봅시다. 

1. Application을 상속받은 class 를 하나 만들어주세요. 

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
    }
}

2. 해당 클래스를 Manifest 랑 아래처럼 연결해주세요.

<application
    android:name=".MyApplication"

3. MyApplication 에 Kotpref 를 아래처럼 넣어주세요.

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        Kotpref.init(this)// 여기 한줄을 추가해주세요.
    }
}

4. 그 후 저장할 데이터들을 만들어 주세요. 저는 아래처럼 UserData 라고 만들께요.

object UserData : KotprefModel() {
    var userAge : Int by intPref(0) // Int
    var userGender : String by stringPref("None") //String
    var userName : String by stringPref("홍길동") //String
}

5. 그럼 편하신 곳에 값을 저장하고 뽑아 봅시다. (편하신 곳 아무데나 넣으시면 됩니다.)

// 데이터 저장 테스트
//값 입력
UserData.userAge = 12
UserData.userGender = "W"
UserData.userName = "미소"
//저장된 값 출력 
println("저장된 데이터 확인")
println("나이 : " + UserData.userAge)
println("성별 : " + UserData.userGender)
println("이름 : " + UserData.userName)

잘 보이시나요?

생각보다 간단할 뿐만 아니라

데이터가 앱 단위로 저장되기때문에 다른 Activity 에서 꺼내쓰기 편합니다. 

(참고로 이 데이터는 저번 포스트랑 동일하게 앱을 지우지 않는 한 유지됩니다.)

 

저처럼 처음 해보시는 분들이 알아두면 좋을것같아 정리해 올려봅니다. 

 

그럼 오늘도 파이팅입니다.  

댓글