即使卸载后应用程序中的文件仍然存在

时间:2021-03-23 17:14:57

标签: c# xamarin.forms

我在 Xamarin Forms 应用程序中创建了一些文件。但是尽管我从手机上卸载了该应用程序并再次使用 VisualStudio 进行调试,但里面的文件仍然存在,以及之前保存的所有内容。怎么解决?

 string DbLocal = Path.Combine(FileSystem.AppDataDirectory, "DbLocal.db3");
 string Emoji = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Emoji.json");

1 个答案:

答案 0 :(得分:0)

尝试在创建数据库时执行此操作。

public readonly SQLiteAsyncConnection dbContext;
private string dbPath;
switch (Device.RuntimePlatform)
{
                case Device.iOS:
                    dbPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "..", "Library", "DbLocal.db");
                    break;
                case Device.Android:
                    dbPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "DbLocal.db");
                    break;
}
dbContext = new SQLiteAsyncConnection(dbPath);

使用此路径进行 DB 将删除卸载应用程序时创建的实际 DB 文件。

---------------------------- 编辑 ------------------ ---------

这里的文件已被删除,因为我用来创建数据库的路径是该应用程序的内部系统缓存路径,当您从设备中删除应用程序时,该路径通常会被清除。路径类似于 InternalStorage->Android/Data/com.packagename.appname/INTERNAL_CACHE_FILES

请记住,它是内部存储,而不是外部存储。您需要设置root权限来检查文件,或者您可以通过Android Studio for Emulators

浏览路径

要永久删除json文件,您可以获取json文件的路径并检查文件是否存在,如果文件存在,只需将其删除。为此,您可以尝试类似

if(File.Exists(Emoji))
{
   File.Delete(Emoji); //Emoji is path for your json file
}
相关问题