본문 바로가기

Flutter

[Flutter] 플러터에서 SharedPreferences 사용하기(+Android, iOS 네이티브)

반응형

간단한 값을 저장하기 위해 Android에서는 SharedPreferences를 사용합니다.

Flutter에서도 비슷한 기능을 제공하기 위해 https://pub.dev/packages/shared_preferences 라는 plugin을 제공하고 있습니다.

 

사용법은 간단합니다.

flutter pub add shared_preferences

위와 같은 명령어를 실행하거나 pubspec.yaml 에 아래와 같이 추가합니다.

dependencies:
  shared_preferences: ^2.1.0

인스턴스를 생성하여 아래와 같이 사용하시면 됩니다.

 

SharedPreferences prefs = await SharedPreferences.getInstance();

// 값을 저장하기 위해
prefs.setString('key', 'value');

// 값을 가져오기 위해
String? value = prefs.getString('key');

// 값을 삭제하기 위해
prefs.remove('key');

 

 

Android나 iOS Native plugin을 사용하시는 분들 중에 native단에서 저장된 값을 사용해야하는 경우가 있으면 아래와 같은 방법을 이용하면 됩니다.

 

Android의 경우 아래와 같이 사용하시면 Flutter에서 저장한 값을 가져오거나 활용할 수 있습니다.

알아봐야할 점은 SharedPreferences를 가져오는 키값은 "FlutterSharedPreferences"이고

저장된 값을 가져오는 키값은 Flutter에서 사용한 키값에 prefix로 "flutter."가 추가됩니다.

// SharedPreferences 가져오기
SharedPreferences prefs = context.getSharedPreferences("FlutterSharedPreferences", Context.MODE_PRIVATE)
// 값 가져오기
String value = prefs.getString("flutter.key", null)

 

iOS는 NSUserDefaults를 사용하고 Android와 마찬가지로 key앞에 prefix로 "flutter."가 추가됩니다.

// UserDefaults 가져오기
let defaults = UserDefaults.standard
// 값 가져오기
let value = defaults?.string(forKey: "flutter.key")
반응형

'Flutter' 카테고리의 다른 글

[Flutter]해당 날짜가 월의 몇 주차인지 구하는 방법  (0) 2023.02.17