Flutterでアプリ内の固有データを保存したり読み込みたい場合が多いと思いますが、Flutterのパッケージで簡単に(iOS/Android共通で)保存や読み込みができるので、その方法を解説します。
データの保存/読み込み方法
shared_preferences パッケージを追加
shared_preferences パッケージを pubspec.yaml に追加します。
dependencies:
flutter:
sdk: flutter
# ↓これを追加
shared_preferences: ^0.5.6
ソースコードでインポートするファイルはこちら:
import 'package:shared_preferences/shared_preferences.dart';
データの保存
SharedPreferences のインスタンスを取得してから、set〇〇 で保存します。
void savePrefs() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString('sample string', 'test');
await prefs.setBool('sample bool', true);
await prefs.setInt('sample int', 100);
await prefs.setDouble('sample double', 1.0);
}
保存する値は key & value 形式、async/await を使います。
データの読み込み
保存と同じく、SharedPreferences のインスタンスを取得してから、get(key) で読み込みます。
void loadPrefs() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String dataString = prefs.get('sample string') ?? 'デフォルト値';
bool dataBool = prefs.get('sample bool') ?? false;
int dataInt = prefs.get('sample int') ?? 0;
double dataDouble = prefs.get('sample double') ?? 0.0;
}
パッケージドキュメント資料
shared_preferences は flutter.dev 公式のパッケージです。
公式ドキュメントはこちら:

shared_preferences | Flutter Package
Flutterpluginforreadingandwritingsimplekey-valuepairs.WrapsNSUserDefaultsoniOSandSharedPreferencesonAndroid.
コメント