今回は、flutterアプリにshared_preferencesを利用して永続ストレージ機能を追加したいと思います。
参考文献
- 以下のパッケージを使用します。
- pub.dev
- 上記リンクの
Readme
には細かい使い方の注意が記載されています。
shared_preferencesとは
上記リンクには一番最初に以下のような記述がありました。
単純なデータ用のプラットフォーム固有の永続ストレージをラップします (iOS および macOS の NSUserDefaults、Android の SharedPreferences など)。データは非同期でディスクに保存される可能性があり、書き込みが戻った後にディスクに保存されるという保証はないため、このプラグインは重要なデータの保存には使用しないでください。
Platform別のサポート状況とデータ保存先を記載しておきます。
Platform Support Storage location Android SDK 16+ SharedPreferences iOS 11.0+ NSUserDefaults Linux Any In the XDG_DATA_HOME directory macOS 10.14+ NSUserDefaults Web Any LocalStorage Windows Any In the roaming AppData directory
サポートされているデータ型
- 上記READMEに記載されていた内容です
- Supported data types are
int
,double
,bool
,String
andList<String>
.
- Supported data types are
手順
手順1:shared_preferencesのパッケージを追加
私はfvmを導入しているので以下のコマンドでパッケージを追加しました。
fvm flutter pub add shared_preferences
コマンド実行結果
(省略)\training_app> fvm flutter pub add shared_preferences Resolving dependencies... _fe_analyzer_shared 64.0.0 (65.0.0 available) analyzer 6.2.0 (6.3.0 available) flutter_lints 2.0.3 (3.0.1 available) js 0.6.7 (0.7.0 available) lints 2.1.1 (3.0.0 available) matcher 0.12.16 (0.12.16+1 available) material_color_utilities 0.5.0 (0.8.0 available) meta 1.10.0 (1.11.0 available) path 1.8.3 (1.9.0 available) + path_provider_linux 2.2.1 + path_provider_platform_interface 2.1.1 + path_provider_windows 2.2.1 + platform 3.1.4 + shared_preferences 2.2.2 + shared_preferences_android 2.2.1 + shared_preferences_foundation 2.3.4 + shared_preferences_linux 2.3.2 + shared_preferences_platform_interface 2.3.1 + shared_preferences_web 2.2.2 + shared_preferences_windows 2.3.2 test_api 0.6.1 (0.7.0 available) web 0.3.0 (0.4.0 available) web_socket_channel 2.4.0 (2.4.1 available) + xdg_directories 1.0.4 Changed 12 dependencies! 12 packages have newer versions incompatible with dependency constraints. Try `flutter pub outdated` for more information.
手順2:実装
- 省略(実装したときに追記するかもしれない)