Archives
Recent Posts
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Today
Total
관리 메뉴

안드로이드 개발자의 창고

[50일차 Android] Preferences 본문

Computer/Android

[50일차 Android] Preferences

Wise-99 2023. 7. 17. 19:18

 

 

 

출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT

 

 

 

 📖 Preferences

  • 안드로이드의 저장 방식 중 하나로 애플리케이션의 데이터를 간단하게 저장할 수 있는 수단
  • 많은 양의 데이터를 저장할 때는 SQLite, 소규모의 데이터를 저장할 때 Preferences를 사용할 수 있다.
  • 일반적으로 애플리케이션 설정 데이터와 같이 유일한 데이터들을 기록할 때 Preferences를 사용한다.

 

 

 

예제 코드 - 데이터 저장

button.run {
    setOnClickListener {
        // Preferences 객체 추출
        // 첫 번째 : 이름
        // 두 번째 : MODE_APPEND - 기존 데이터에 추가 해준다.
        //         MODE_PRIVATE - 기존 데이터를 삭제하고 새롭게 저장한다.
        val pref = getSharedPreferences("data", MODE_PRIVATE)
        
        // 데이터 저장을 위한 객체를 이용해 데이터를 설정한다.
        val editor = pref.edit()
        editor.putBoolean("data1", true)
        editor.putFloat("data2", 11.11f)
        editor.putInt("data3", 100)
        editor.putLong("data4", 200L)
        editor.putString("data45", "문자열 데이터")

        val set1 = mutableSetOf<String>()
        set1.add("문자열1")
        set1.add("문자열2")
        set1.add("문자열3")
        editor.putStringSet("data6", set1)

        // 데이터 저장
        editor.commit();

        textView.text = "저장 완료"
    }
}

 

 

 

예제 코드 - 데이터 불러오기

button2.setOnClickListener {
    val pref = getSharedPreferences("data", 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", null)
    val data6 = pref.getStringSet("data6", null)

    textView.text = "data1 : ${data1}\n"
    textView.append("data2 : ${data2}\n")
    textView.append("data2 : ${data3}\n")
    textView.append("data2 : ${data4}\n")
    textView.append("data2 : ${data5}\n")

    for (str1 in data6!!){
        textView.append("data6 : ${str1}\n")
    }
}

 

'Computer > Android' 카테고리의 다른 글

[50일차 Android] Basic Resource  (0) 2023.07.17
[50일차 Android] Preferences Screen  (0) 2023.07.17
[50일차 Android] Content Provider  (0) 2023.07.14
[44일차 Android] SQLiteDatabase  (0) 2023.07.10
[44일차 Android] assets  (0) 2023.07.10