ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Android/Kotlin] Sharedpreference
    Android/Kotlin 2022. 7. 8. 20:24
    반응형

    [모든 포스팅은 개인적 공부를 위해 작성된 글입니다]

    <DB 데이터 저장 방식, 언어>

    - 1. RDB(Relational Database)

    - 2. Key-Value 방식

     - 검색 속도 빠름

    - 3. RDBMS(Relational Database Management System)

     - RDB 관리 위한 툴

     - ex) MySQL, Oracel, PostgreSQL

    - 4. SQL

     - RDBMS 다루기 위한 언어

    - 5. NoSQL

     - Key-Value 방식의 대표적인 예제

     

    <안드로이드 DB 종류>

    - 1. SQLite

    - 2. Sharedpreference

     - 목적 : 공유된 사용자의 기호(ex 리스트를 오름차순으로 볼 것인지 내림차순으로 볼 것인지 사용자가 정하면 그 정보를 저장)

     - Key-Value 방식

     - 간단한 것만 저장하는 것이 좋음

     

    <SharedPreference 사용하기>

    val sharedPreference = getSharedPreferences("sp1", Context.MODE_PRIVATE)

    - getSharedPreferences("name", Mode)

     

    - Mode의 종류

     - 1. MODE_PRIVATE : 생성한 application에서만 사용 가능

     - 2. MODE_WORLD_READABLE : 다른 application에서 사용 가능하지만 읽을 수만 있음

     - 3. MODE_WORLD_WRITEABLE : 다른 application에서 사용 가능하고 읽고 쓰기 모두 가능

     - 4. MODE_MULTI_PROCESS : 이미 호출되어 사용중인지 체크

     - 5. MODE_APPEND : 기존 preferenece에 신규로 추가

     

    <SharedPreference에 값 저장하기>

    - Key-Value 방식으로 저장

    - sharedPreferences에 데이터 넣으려면 Editor 사용해야 함

     - editor로 원하는 작업 해 준 후 commit 해줘야 함

    val editor: SharedPreferences.Editor = sharedPreference.edit()//sharedPreference(변수)로부터 editor 얻어옴
    editor.putString("key","value").commit()

     

    <SharedPreference에서 값 가져오기>

    val value = sharedPreference.getString("key","default value")

     

    <SharedPreference에 저장된 값 지우는 방법>
    - 1. 안드로이드 디바이스의 어플리케이션 정보에 들어가서 저장된 데이터 지우기

    - 2. Kotlin 코드 사용

     - 하나의 SharedPreference에 저장된 여러 개의 Key-Value 값 중 하나만 지우기

    editor.remove("key").commit()

     - 하나의 SharedPreference에 저장된 전체 Key-Value 값 지우기

    editor.clear().commit()

     

    <SharedPreference에 ArrayList 저장하기>

    https://jeong-yeon.tistory.com/manage/posts/

     

    TISTORY

    나를 표현하는 블로그를 만들어보세요.

    www.tistory.com

     

    반응형

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

    [Android/Kotlin] AsyncTask  (0) 2022.07.09
    [Android/Kotlin] Realm  (0) 2022.07.08
    [Android/Kotlin] TabLayout, pager  (0) 2022.07.08
    [Android/Kotlin] 리사이클러뷰(RecyclerView)  (0) 2022.07.07
    [Android/Kotlin] 리스트뷰(ListView)  (0) 2022.07.06

    댓글

Designed by Tistory.