-
[kotlin] SharedPreferences exampleAndroid 외 개발 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