dart 本地有数据- Flutter

yc0p9oo0  于 2023-03-27  发布在  Flutter
关注(0)|答案(2)|浏览(170)

我正在尝试自己学习Flutter,并尝试建立一个连接到OpenAI API的聊天应用程序。它运行良好,我可以发送消息,也可以接收答案。但是每次我关闭应用程序时,所有的消息都消失了。我将在稍后将Firebase添加到项目中。是否有任何解决方案可以将聊天记录保存到设备/应用程序,这样我就可以在本地拥有它,下次打开应用程序时它就会在那里?

wswtfjt7

wswtfjt71#

您可以使用shared_preferencespub.dev包来实现这一点。例如,如果您希望持久化String数据,您可以执行类似于以下内容的操作:

/// Initializes the shared preferences object to be used in this class.
  Future<SharedPreferences?> initializePreferences() async {
    preferences = await SharedPreferences.getInstance();
    return preferences;
  }

  /// Used to persist String data.
  Future<void> persist(String key, String data) async {
    await preferences?.setString(key, data);
  }

  /// Retrieves persist data of type String.
  String? getString(String key) {
    String? data = preferences?.getString(key);
    return data;
  }

您可以通过将各种类型的数据(对象,列表,对象列表等)序列化/反序列化为JSON对象来持久化和检索它们。可以在black-out/data_persist.dart中找到样本数据持久化服务的完整示例。
希望有帮助。
干杯

相关问题