♣ 개발/Flutter

[Flutter] Shared Preference

SlowDreamer 2021. 6. 23. 12:38

▶ SharedPreference란?

  Anroid에서 지원하는 로컬 데이터베이스 저장 관리 시스템이다.

 

언제 사용하는가?

  어플리케이션의 데이터를 저장하기 위해 사용하며, Key-Value

  저장하려는 Key-Value 컬랙션이 비교적 적은 경우 사용한다.

 

개발에 사용한 프레임워크 별 SharedPreference 저장 경로

  Anroid 플랫폼 앱 개발 시, 다양한 크로스플랫폼 프레임워크를 사용할텐데, 사용하는 프레임워크마다 SharedPreference의 저장 경로가 다르다. 

  • Anroid Native
    • 저장경로 : /data/data/[pkg-name]/shared_prefs/pkg-name_preference.xml
    • 저장경로 : /data/data[pkg-name]/shared_prefs/SharedPreference.xml
    • 참고문서 : https://re-build.tistory.com/37
  • Flutter
  • Unity3D
    • 저장경로
      • Unity Version ~2020.1 : /data/data/[pkg-name]/shared_prefs/pkg_name.xml
      • Unity Version 2020.2~ : /data/data/[pkg-name]/shaared_prefs/pkg-name.v2.playerprefs.xml
    • 참고문서 : https://docs.unity3d.com/ScriptReference/PlayerPrefs.html?_ga=2.195736175.2119206836.1617846177-1048552246.1615188811

 

주의사항

  사용하는 프레임워크마다 저장된 SharedPreference의 xml 데이터 형식이다르다.

  때문에 A 프레임워크를 통해 생성된 SharedPreference를 B 프레임워크에서 바로 사용할 때는 주의가 요구된다.

 

iOS

  iOS 플랫폼도 SharedPreference에 대응대는 개념인 NSUserDefaults 가 존재한다.

 

사용방법

  flutter에서 shared preference를 사용하는 방법은 다음과 같다.

  1. install shared_preferences 
  2. import shared_preferences
  3. Shared Preference 할당 : SharedPreferences.getInstance()
  4. Shared Preferece 저장
  5. Shared Preference 불러오기

 

Example

참고문서 : https://pub.dev/packages/shared_preferences

SharedPreferences 패키지를 사용하는 코드를 유닛 테스트(Unit Test)할 때,  setMockIntialValues 매서드를 사용하여 데이터를 초기화 할 수 있다.

반응형