728x90
안드로이드의 저장 방식 중 하나로 애플리케이션의 데이터를 간단하게 저장할 수 있는 수단이다.
많은 양의 데이터를 저장할 때는 SQLite를 사용하고 소규모의 데이터를 저장할 때 Preferences를 사용할 수 있다.
일반적으로 SQlite 데이터 베이스에는 학생들의 정보 등과 같은 다수의 매개체에 대한 데이터를 저장할 때 사용하고 애플리케이션 설정 데이터와 같이 유일한 데이터들을 기록할 때 Preferences를 사용한다.
package com.example.preferernces
import android.content.Context
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
// Preferences 객체를 추출한다.
val pref = getSharedPreferences("data",Context.MODE_PRIVATE)
// 데이터 저장을 위한 객체를 추출한다.
val editor = pref.edit()
editor.putBoolean("data",true)
editor.putFloat("data2",11.11f)
editor.putInt("data3",100)
editor.putLong("data4",100000L)
editor.putString("data5","문자열 데이터")
val set = HashSet<String>()
set.add("문자열1")
set.add("문자열2")
set.add("문자열3")
editor.putStringSet("data6",set)
editor.commit()
textView.text = "저장완료료"
}
button2.setOnClickListener {
val pref = getSharedPreferences("data",Context.MODE_PRIVATE)
// 저장된 데이터를 가져온다.
val data1 = pref.getBoolean("data1",false)
val data2 = pref.getFloat("data2",0.0f)
val data3 = pref.getInt("data3", 0)
val data4 = pref.getLong("data4", 0L)
val data5 = pref.getString("data5", "초기값")
val data6 = pref.getStringSet("data6",null)
textView.text = "data1 : $data1\n"
textView.append("data2 : $data2\n")
textView.append("data3 : $data3\n")
textView.append("data4 : $data4\n")
textView.append("data5 : $data5\n")
for (str in data6!!) {
textView.append("data6 : $str\n")
}
}
}
}

728x90
'안드로이드 > 데이터 입출력' 카테고리의 다른 글
안드로이드 Preferences Screen (0) | 2022.06.23 |
---|---|
안드로이드 Content Provider (0) | 2022.06.23 |
안드로이드 sqlite 2 (0) | 2022.06.23 |
안드로이드 sqlite 1 (0) | 2022.06.23 |
안드로이드 assets (0) | 2022.06.22 |