如何清除flutter桌面应用程序数据,如flutter移动应用程序

Posted

技术标签:

【中文标题】如何清除flutter桌面应用程序数据,如flutter移动应用程序【英文标题】:How to clear flutter desktop app data like flutter mobile app 【发布时间】:2021-05-31 02:16:39 【问题描述】:

我正在开发 Flutter 桌面应用程序,我想清除应用程序数据库,就像我们在移动设备上所做的那样,我们转到应用程序设置并清除缓存和数据,以重置应用程序设置。同样,我想对桌面应用程序做同样的事情。谁能帮我怎么做?

谢谢

【问题讨论】:

由于这是您的操作系统的一个特性,而大多数桌面操作系统没有这个特性,我怀疑会有一个简单的解释。您如何保存要清除的数据? 我在桌面应用程序中使用 sqflite_common_ffi 插件作为本地数据库。我想清除那个数据库并重建它。 只删除文件? 确实尝试过flutter clean,但没有工作 桌面是三种不同的操作系统,每一种都将用户数据存储在不同的位置。您应该澄清您正在使用哪个平台,因为答案会有所不同。 【参考方案1】:

我可以通过删除在 Linux 中找到的 flutter_app_directory 来解决这个问题 ~/.local/share/

在 Windows 和 MacOS 中可以找到类似的操作

【讨论】:

【参考方案2】:
 return LazyDatabase(
    () async 
      var dbFolderPath = '';
      if (GetPlatform.isDesktop) 
        final provider = PathProviderWindows();
        dbFolderPath = (await provider.getApplicationSupportPath())!;
       else 
        final dbFolder = await getApplicationDocumentsDirectory();
        dbFolderPath = dbFolder.path;
      

      final file = File(path.join(dbFolderPath, _databaseName));
      debugPrint(file.path);
      return NativeDatabase(file);
    ,
  );

只需打印数据库的路径,你就会知道它的确切存储位置,对我来说,它存储在这个路径上

颤振:C:\Users\USERNAME\AppData\Roaming\PACKAGE_NAME\debt_record\db.sqlite

【讨论】:

以上是关于如何清除flutter桌面应用程序数据,如flutter移动应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何在flutter_svg中使用preCachePicture()

如何在 Flutter Firebase 中清除以前的用户缓存数据?

无论如何都可以将firebase存储用于flutter桌面吗?

如何从 Flutter 中的平台特定模块(Android)登录

ios如何清除应用数据

如何在 Flutter 应用中添加桌面版网站?