Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 위치정보확인
- 안드로이드
- Android
- 프로그래머스
- 뷰바인딩
- lifecycleScope
- 데이터바인딩
- Retrofit with MVVM
- Retrofit Kotlin
- viewBinding
- ScrollView Child View Height Programmatically
- programmers
- dialog fragment
- 리사이클러뷰
- 다이얼로그 프래그먼트
- recyclerview
- java
- 레트로핏 MVVM
- 스크롤뷰 자식 뷰 높이 동적조절
- 인텐트란?
- DataBinding
- 레트로핏 코틀린
- location System
- NestedScrollView
- dialogfragment singleton
- ScrollView with ConstraintLayout
- 다이얼로그 크기조절
- dialog resize
- 쉐어드
- 레트로핏2
Archives
- Today
- Total
안드로이드 세계
[Android] SharedPreferences란? 본문
1. SharedPreference
- 로컬에 데이터를 저장하기 위해서 사용하는데, 대용량은 Room, SQLite(로컬 디비)를 이용하고, 간단한 것(Key-value형태)들은 SharedPreference로 저장을 할 수 있다.
- 주로 간단한 설정(자동 로그인, 테마 설정, 최초 실행 여부 등)을 이용할 때 사용하면 좋다.
2. 사용법
- 먼저 사용할 파일의 이름을 지정하고, 모드(프라이빗, 퍼블릭)를 선택하여야 한다.
- 공유 파일이 여러 개일 경우는 getSharedPreferences, 하나인 경우는 getPreferences를 사용하면 된다.
val sharedPref = activity?.getSharedPreferences(
"파일명", Context.MODE_PRIVATE)
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE)
- 해당 파일에 쓰기를 할 때에는 아래와 같이 사용한다.
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
with (sharedPref.edit()) {
putInt("hightScore", newHighScore)
commit()
}
- 해당 파일을 읽을 때에는 아래와 같이 사용한다.
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
val defaultValue = resources.getInteger(R.integer.saved_high_score_default_key)
val highScore = sharedPref.getInt("highScore", defaultValue)
실제로 내가 사용할 때에는 다음과 같이 사용한다.
object SharedPreference {
private var shared : SharedPreferences? = null
fun init(context: Context){
shared = context.getSharedPreferences("Setting", Context.MODE_PRIVATE)
}
var autoLogin: Boolean
get() = shared?.getBoolean("AutoLogin", false) as Boolean
set(value) = shared?.edit()?.putBoolean("AutoLogin", value)?.apply()!!
}
액티비티나 프래그먼트에서 사용할 때에는 아래와 같이 사용한다.
SharedPreference.init(this)
SharedPreference.autoLogin = true
액티비티라면 onCreate, 프래그먼트라면 onViewCreated에 넣어주면 사용이 가능하다.
더 자세히 알고 싶다면 아래 링크를 참고하는 게 좋을 것 같다.
developer.android.com/training/data-storage/shared-preferences?hl=ko
'안드로이드(Android) > 이론' 카테고리의 다른 글
[Kotlin] 접근 제한자(public, private, internal, protected) (0) | 2023.04.10 |
---|---|
[Android] DataBinding이란? (0) | 2021.01.13 |
[Android] ViewBinding (뷰바인딩) (0) | 2021.01.13 |
[Android] Intent란? (0) | 2021.01.08 |
[Android] 안드로이드 4대컴포넌트란?(feat. 생명주기) (0) | 2021.01.07 |
Comments