Flutterの共有プリファレンスプラグイン使用時にMissingPluginExceptionが表示される
Flutterでの開発において、共有プリファレンスプラグイン(shared_preferences plugin)を使用することで、キー・バリュー型の小さなデータを保存することができる。
pubspec.yamlファイルに追加
公式ドキュメントにしたがって、shared_preferencesプラグインをpubspec.yamlファイルに追加し、Packages getをクリック。
dependencies:
flutter:
sdk: flutter
shared_preferences: ^0.5.6+3 # 執筆時点
Dartファイルに追加
Dartファイルにshared_preferencesプラグインを追加。
import 'package:shared_preferences/shared_preferences.dart';
共有プリファレンスに書き込み
ログイン時にAPIから返されるJSONファイルに含まれるトークンを共有プリファレンスに書き込むため、Dartファイルに下記のコードを追加。
final prefs = await SharedPreferences.getInstance();
prefs.setString('token', token);
MissingPluginExceptionが表示される
ホットリスタートしてエミュレータからログイン処理を行い、トークンが書き込めているか確認したところ、下記のエラーが発生。
flutter: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)
MissingPluginExceptionの対処方法
コールドリスタート(停止して再起動)したところ、エラーが解消し、共有プリファレンスへの書き込みを確認できた。