getSharedPreferences()
메서드를 사용
val prefs = context.getSharedPreferences("my_preferences", Context.MODE_PRIVATE)
my_preferences
: SharedPreferences 파일의 이름Context.MODE_PRIVATE
: SharedPreferences 파일의 모드Context.MODE_PRIVATE
를 사용하여 SharedPreferences 파일을 생성하고 앱 내에서만 접근 가능하도록 함!SharedPreferences
에 데이터를 저장하기 위해서는 SharedPreferences.Editor
객체를 얻어야 함
val editor = prefs.edit()
editor.putString("username", "ars_yeon")
editor.putInt("age", 25)
editor.apply()
val username = prefs.getString("username", "")
val age = prefs.getInt("age", 0)
class MainActivity : AppCompatActivity() {
private lateinit var prefsUtil: PrefsUtil
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
prefsUtil = PrefsUtil(this)
// 데이터 저장
prefsUtil.saveUsername("ars_yeon")
prefsUtil.saveAge(25)
// 데이터 불러오기
val username = prefsUtil.getUsername()
val age = prefsUtil.getAge()
// 불러온 데이터 사용
println("사용자 이름: $username")
println("나이: $age 세")
}
}
class PrefsUtil(context: Context) {
private val prefs = context.getSharedPreferences("pref", Context.MODE_PRIVATE)
fun getUsername(defaultValue: String = ""): String {
return prefs.getString("username", defaultValue) ?: defaultValue
}
fun getAge(defaultValue: Int = 0): Int {
return prefs.getInt("age", defaultValue)
}
fun saveUsername(username: String) {
prefs.edit().putString("username", username).apply()
}
fun saveAge(age: Int) {
prefs.edit().putInt("age", age).apply()
}
}
[참고 사이트]
'SharedPreferences로 단순 데이터 저장하기', Developer
'Kotlin 코틀린의 SharedPreferences', 용이의 개발블로그