ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [kotlin] SharedPreferences example
    Android 외 개발 2020. 1. 3. 14:33

     

    SharedPreferences 를 기존 Java 에서는 Singleton 으로 사용하고 있었습니다.

    kotlin 도 동일한 구조로 변경해 보았습니다.

     

    object Preferences {
        private const val DATA = "DATA"
        private lateinit var preferences: SharedPreferences
    
        fun init(context: Context) {
            preferences = context.getSharedPreferences(context.packageName, Activity.MODE_PRIVATE)
        }
    
        var data: String
            get() = preferences.getString(DATA, "") ?: ""
            set(value) = preferences.edit {
                putString(DATA, value)
            }
    }

     

    object 파일을 만들고 Context 는 init 함수를 만들어서 받을 수 있게 구성하였습니다.

    필요한 데이터는 get set 함수를 만들어서 사용할 수 있게 하였습니다.

     

    class App : Application() {
    
        override fun onCreate() {
            super.onCreate()
            Preferences.init(this)
        }
    }

    Context 는 Application class 에서 부르게 구성 하였습니다.

     

    class MainActivity : AppCompatActivity() {
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
            if(Preferences.data == ""){
                Preferences.data = "Test code"
            }
            Log.d("PreferenceTest", "data : ${Preferences.data}")
        }
    }

     

    동작여부를 확인하기 위해 Activity 를 구성하여 Log 를 확인한 결과 정상적으로 출력되는 것을 확인 하였습니다.

    'Android 외 개발' 카테고리의 다른 글

    Kotlin MVVM(Dagger2, Room, Retrofit)  (0) 2020.03.05
    Android Notification example  (0) 2020.01.07
    kotlin null check 할때 let 을 써야할까?  (0) 2019.12.10
    kotlin use example  (0) 2019.12.10
    Kotlin error  (0) 2019.12.04
Designed by Tistory.