SharedPreferences
플러그인은 Flutter 애플리케이션에서 간단한 설정 값이나 작은 데이터를 영구적으로 저장할 수 있는 방법을 제공합니다. 이 플러그인은 iOS 및 macOS에서 NSUserDefaults
, Android에서 SharedPreferences
등을 사용하여 데이터를 저장합니다.
pubspec.yaml
파일에 shared_preferences
를 종속성으로 추가합니다.
dependencies:
flutter:
sdk: flutter
shared_preferences: ^2.0.6
// Obtain shared preferences.
final SharedPreferences prefs = await SharedPreferences.getInstance();
// Save an integer value to 'counter' key.
await prefs.setInt('counter', 10);
// Save a boolean value to 'repeat' key.
await prefs.setBool('repeat', true);
// Save a double value to 'decimal' key.
await prefs.setDouble('decimal', 1.5);
// Save a string value to 'action' key.
await prefs.setString('action', 'Start');
// Save a list of strings to 'items' key.
await prefs.setStringList('items', <String>['Earth', 'Moon', 'Sun']);
// Obtain shared preferences.
final SharedPreferences prefs = await SharedPreferences.getInstance();
// Try reading data from the 'counter' key. If it doesn't exist, returns null.
final int? counter = prefs.getInt('counter');
// Try reading data from the 'repeat' key. If it doesn't exist, returns null.
final bool? repeat = prefs.getBool('repeat');
// Try reading data from the 'decimal' key. If it doesn't exist, returns null.
final double? decimal = prefs.getDouble('decimal');
// Try reading data from the 'action' key. If it doesn't exist, returns null.
final String? action = prefs.getString('action');
// Try reading data from the 'items' key. If it doesn't exist, returns null.
final List<String>? items = prefs.getStringList('items');
// Remove data for the 'counter' key.
await prefs.remove('counter');
void main() async {
WidgetsFlutterBinding.ensureInitialized(); // Flutter 프레임워크 초기화
final SharedPreferences prefs = await SharedPreferences.getInstance(); // Shared Preferences 초기화
runApp(MyApp(prefs: prefs));
}
reload()
를 호출하는 것이 좋습니다.final Map<String, Object> values = <String, Object>{'counter': 1};
SharedPreferences.setMockInitialValues(values);
flutter.
접두사로 시작하는 preference만 읽고 씁니다. setPrefix
를 호출하여 다른 접두사를 사용할 수 있으며, 인스턴스 생성 전에 호출해야 합니다. 접두사를 빈 문자열로 설정하면 (''
), 모든 preference에 접근할 수 있습니다. allowList
를 설정하여 지원되는 유형의 preference만 허용할 수 있습니다.flutter_secure_storage
사용 권장)