概要
webでブラウザに何か保存する際に、localStorageを使用すると思いますが、Flutter Webの場合にどう実装するかのメモ書きです。
How to save to web local storage in flutter webのstackoverflowの記事に、色々と対応案が書いてあります。shared_preferences
という端末にデータ保存するライブラリが、バージョン0.5.4.7
以降ではlocalStorageに対応しているようなので、今回これを使用してみます。
前提
- Flutterのバージョンは
3.3.10
を使用します。 - shared_preferencesのバージョンは
2.0.17
を使用します。
実装サンプル
shared_preferencesのライブラリのページに記載ある通りですが、アプリでの実装と同じ形式で以下のようにlocalStorageを使用できます。
import 'package:shared_preferences/shared_preferences.dart';
class LocalStorageManagementService {
static const String localStorageKey = "localStorageKey";
static Future<void> setLocalStorage(String value) async {
final localStorage = await SharedPreferences.getInstance();
localStorage.setString(localStorageKey, value);
}
static Future<String?> getAuthTokenLocalStorage() async {
final localStorage = await SharedPreferences.getInstance();
return localStorage.getString(localStorageKey);
}
static Future<void> removeAuthTokenLocalStorage() async {
final localStorage = await SharedPreferences.getInstance();
localStorage.remove(localStorageKey);
}
}