Как сохранить в локальном хранилище с помощью Flutter?
В Android, если у меня есть информация, я хочу продолжать работу через сеансы. Я знаю, что могу использовать SharedPreferences или создавать базу данных SQLite или даже записывать файл на устройство и читать его позже.
Есть ли способ сохранить и восстановить данные, подобные этому, используя Flutter? Или мне нужно написать код устройства для Android и iOS, например, в примере услуг?
Ответы
Ответ 1
Есть несколько вариантов:
Ответ 2
Если вы находитесь в ситуации, когда хотите сохранить небольшое значение, о котором хотите позже. то вы должны хранить свои данные как данные с ключом, используя shared_preferences
но если вы хотите хранить большие данные, вы должны пойти с SQLITE
однако вы всегда можете использовать базу данных firebase, доступную офлайн
Поскольку мы говорим о локальном хранилище, вы всегда можете читать и записывать файлы на диск
Другие решения:
Ответ 3
Вы можете использовать общие настройки из официальных плагинов флаттера. https://github.com/flutter/plugins/tree/master/packages/shared_preferences
Он использует общие настройки для Android, NSUserDefaults для iOS.
Ответ 4
Если вам нужно хранить только простые значения, такие как токен 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');
Не забудьте добавить зависимость shared_preferences
в ваш pubspec.yaml (сохранить формат интервала):
dependencies:
shared_preferences: any
Ответ 5
Я думаю, что если вы собираетесь хранить большой объем данных в локальном хранилище, вы можете использовать библиотеку sqflite. Его очень легко настроить, и я лично использовал его для какого-то тестового проекта, и он отлично работает.
https://github.com/tekartik/sqflite Это учебное пособие - https://proandroiddev.com/flutter-bookshelf-app-part-2-personal-notes-and-database-integration-a3b47a84c57
Если вы хотите хранить данные в облаке, вы можете использовать firebase. Это надежное обслуживание, предоставляемое google.
https://firebase.google.com/docs/flutter/setup