如何清除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桌面吗?