본문 바로가기
안드로이드/데이터 입출력

안드로이드 Preferences

by 김어찐 2022. 6. 23.
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