안드로이드 데이터 영속성 (preferences)

이영준·2023년 3월 17일
0

📌SharedPreferences

간단한 데이터를 저장하기 위해 사용한다.
복잡한 로직이 따로 없다
UI객체 혹은 code에서 저장할 수 있다.

🔑 예제

getPreferences는 내부적으로 getSharedPreferences("액티비티 이름", mode)를 호출하는 것이라 getSharedPreferences()를 사용하면 원하는 파일이름을 지정할 수 있다.

class PreferenceActivity : AppCompatActivity() {
    private lateinit var prefResultEv :TextView
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_preference)

        prefResultEv = findViewById(R.id.pref_result)

        val prefs = getSharedPreferences("test", MODE_PRIVATE)
        // 정보 추출하기
        val v = prefs.getInt("KEY", 0)
        // 정보 저장하기
        val editor = prefs.edit()
        editor.putInt("KEY", v.toInt()+1)
        editor.apply()
//        editor.commit()

        prefResultEv.text = "preference test: $v"

    }
}

앱 실행시마다 1씩 pref_result가 증가하도록 하는 코드이다.

이 shared_preferences는 data->data->패키지명 폴더-> shared_preferences 폴더 내에 존재한다.

위의 코드는 test.xml 파일에 preferences 키를 저장하게 된다.

아쉽게도 preference에 list를 넣을 수는 없어서 간단한 데이터만 넣는것이 sharedPreferences의 목적이다.

profile
컴퓨터와 교육 그사이 어딘가

0개의 댓글

관련 채용 정보