как хранить данные в приложении flutter для текстового редактора

flutter #dart

#flutter #dart

Вопрос:

Как сохранить данные (абзацы) в приложении текстового редактора в flutter. Текстовый редактор был создан с помощью пакета Quill. нужно ли мне извлекать внешние API-интерфейсы или любой другой пакет или хранилище, которые уже доступны в пакете Quill в flutter, а также если этот api или пакет хранения предоставляют облачное хранилище или локальное хранилище для хранения телефона пользователя

Ответ №1:

Если вы хотите, чтобы данные хранились в Интернете, вы можете использовать firebase или любую онлайн-базу данных, такую как MySQL, MongoDB и многие другие варианты

однако, если вы хотите хранить их локально на телефоне, без использования Интернета, и чтобы эти данные были постоянными, «убейте приложение, затем запустите повторно и найдите эти данные в новом сеансе», тогда вам нужно использовать локальную базу данных, например, пакеты sqfLite или Sembast Flutter,,

Sembast — это супер быстрая и простая локальная база данных NoSQL. в то время как sqfLite — это база данных SQL

и если вам просто нужно сохранить данные во время сеанса, и для удаления при завершении работы приложения,, вы можете сохранить данные в глобальной переменной, используя bloc или provider в классе, который расширяет ChangeNotifier

и если вы просто хотите сохранить данные на текущем активном экране и удалить данные при закрытии экрана, просто установите локальную переменную с этими данными в классе состояния StatefulWidget..

Комментарии:

1. Может кто-нибудь, пожалуйста, указать пример использования firebase?

Ответ №2:

Преобразуйте содержимое в строку json

 var json = jsonEncode(_controller.document.toDelta().toJson());
 

Используйте пакет с именем общие настройки

Сохраните строку json, используя общие настройки.

Для извлечения данных используйте

 var myJSON = jsonDecode(incomingJSONText);
_controller = QuillController(
      document: Document.fromJson(myJSON),
      selection: TextSelection.collapsed(offset: 0));
 

Проверьте https://github.com/singerdmx/flutter-quill для получения дополнительной информации