【问题标题】:how to store data in flutter for text editor app如何在颤动中为文本编辑器应用程序存储数据
【发布时间】:2021-10-20 20:15:26
【问题描述】:

如何在文本编辑器应用中快速存储数据(段落)。文本编辑器是用 Quill 包构建的。我是否需要获取外部 API 或任何其他包或存储已在 Flutter 中的 Quill 包中可用,以及该 api 或存储包是否提供云存储或本地存储我用户的手机存储

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    如果您希望数据在线存储,您可以使用 firebase,或任何在线数据库,如 mySql、MongoDB 和许多其他选项

    但是,如果您想将它们本地存储在手机上,而不使用互联网,并让这些数据持久保存,“杀死应用程序然后重新运行并在新会话中找到该数据”,那么您需要使用本地数据库,例如 sqfLite 或 Sembast Flutter 包,

    Sembast 是一个超级快速和简单的 noSQL 本地数据库。而 sqfLite 是一个 SQL 数据库

    如果您只需要在会话进行时存储数据,并在应用程序被终止时进行处理,您可以使用 bloc 或扩展 ChangeNotifier 的类中的提供程序将数据存储在全局变量中

    如果您只想将数据存储在当前活动屏幕中并在关闭屏幕时处理数据,只需在 statefulWidget 的状态类中使用该数据设置一个局部变量..

    【讨论】:

    • 有人可以举个例子吗?
    【解决方案2】:

    将内容转换为json字符串

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

    使用名为shared preferences的包

    使用共享首选项保存 json 字符串。

    检索数据使用

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

    查看https://github.com/singerdmx/flutter-quill了解更多信息

    【讨论】:

      猜你喜欢
      • 2019-12-09
      • 1970-01-01
      • 2017-01-11
      • 2022-10-13
      • 2016-06-12
      • 1970-01-01
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      相关资源
      最近更新 更多