안녕하세요.
오늘은 SharedPreferences의 데이터를 전부 기본 값으로 초기화 시키는 방법을 알려드리겠습니다.
SharedPreferences의 데이터를 초기화 시키려면
val editor = sharedPreferences.edit()
editor.clear().commit()
이렇게 하시면 됩니다.
저는 먼저 테스트를 위해 UI를 다음과 같이 구성하였습니다.
그리고 테스트를 위해 button을 누르면 sharedPreferences의 test 값과 test1 값을 변경되게 해주었습니다.
button2를 누르면
findViewById<Button>(R.id.button2).setOnClickListener {
val editor = sharedPreferences.edit()
editor.clear().commit()
val testvalue = sharedPreferences.getInt("test", 0)
val test1value = sharedPreferences.getString("test1", "defValue")
findViewById<TextView>(R.id.text1).text = testvalue.toString()+test1value
}
를 통해 값이 초기화되게 하고 text에 sharedPreferences의 값을 출력하게 하였습니다.
이제 빌드하고 실행해보면
reset 버튼을 누를 때 SharedPreferences 값이 초기화 됩니다!
---------------
전체코드
더보기
package com.ok1325.test.playground
import android.content.SharedPreferences
import android.content.res.ColorStateList
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
class MainActivity : AppCompatActivity() {
private lateinit var sharedPreferences: SharedPreferences
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_main)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
sharedPreferences = getSharedPreferences("app_preferences", MODE_PRIVATE)
val testvalue = sharedPreferences.getInt("test", 0)
val test1value = sharedPreferences.getString("test1", "defValue")
findViewById<TextView>(R.id.text1).text = testvalue.toString()
findViewById<Button>(R.id.button).setOnClickListener {
val editor = sharedPreferences.edit()
editor.putInt("test", 1)
editor.putString("test1", "newValue")
editor.apply()
val testvalue = sharedPreferences.getInt("test", 0)
val test1value = sharedPreferences.getString("test1", "defValue")
findViewById<TextView>(R.id.text1).text = testvalue.toString()+test1value
}
findViewById<Button>(R.id.button2).setOnClickListener {
val editor = sharedPreferences.edit()
editor.clear().commit()
val testvalue = sharedPreferences.getInt("test", 0)
val test1value = sharedPreferences.getString("test1", "defValue")
findViewById<TextView>(R.id.text1).text = testvalue.toString()+test1value
}
}
}
'프로그래밍' 카테고리의 다른 글
초보자도 쉽게 만드는 파이썬 디스코드 봇 (0) | 2025.01.19 |
---|---|
[C#] CPU,RAM(메모리),디스크 사용량 불러오는 방법 (0) | 2024.01.03 |
[Python] module 'httpcore' has no attribute 'NetworkBackend' 해결 방법 (0) | 2023.11.22 |