Androidでは、セッション間で保持したい情報がある場合、SharedPreferencesを使用するか、SQLiteデータベースを作成するか、デバイスにファイルを書き込んで後で読み込むことができます。
Flutterを使用してこのようなデータを保存および復元する方法はありますか?または、 services example のようにAndroidおよびiOSのデバイス固有のコードを記述する必要がありますか?
いくつかのオプションがあります。
後で参照したい小さな値を保存したい場合。次に、shared_preferencesを使用してデータをキー値データとして保存する必要があります
ただし、大きなデータを保存する場合は、SQLITEを使用する必要があります
ただし、オフラインで利用可能なfirebaseデータベースはいつでも使用できます
ローカルストレージについて話しているので、いつでもファイルをディスクに読み書きできます
その他の解決策:
Flutterの公式プラグインから共有設定を使用できます。 https://github.com/flutter/plugins/tree/master/packages/shared_preferences
AndroidではShared Preferences、iOSではNSUserDefaultsを使用します。
APIトークンやログインデータ(パスワードではない!)のような単純な値のみを保存する必要がある場合、ここで使用したものを次に示します。
import 'package:shared_preferences/shared_preferences.Dart';
asyncFunc() async { // Async func to handle Futures easier; or use Future.then
SharedPreferences prefs = await SharedPreferences.getInstance();
}
...
// Set
prefs.setString('apiToken', token);
// Get
String token = prefs.getString('apiToken');
// Remove
prefs.remove('apiToken');
Pubspec.yamlにshared_preferences
依存関係を追加することを忘れないでください(間隔形式を保持):
dependencies:
shared_preferences: any
ローカルストレージに大量のデータを保存する場合は、sqfliteライブラリを使用できます。設定は非常に簡単で、私は個人的にいくつかのテストプロジェクトに使用しましたが、正常に機能しています。
https://github.com/tekartik/sqflite このチュートリアル- https://proandroiddev.com/flutter-bookshelf-app-part-2-personal-notes-and- database-integration-a3b47a84c57
クラウドにデータを保存する場合は、firebaseを使用できます。 Googleが提供する確かなサービスです。