我的sqlite数据库在哪里?

时间:2017-08-02 13:26:49

标签: android sqlite xamarin.forms

我有一个用Xamarin.Forms编写的应用程序,用于在我的Android设备中创建一个新的sqlite数据库。 我使用这段代码:

string dbPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
database = new SQLiteAsyncConnection(dbPath);
database.CreateTableAsync<TodoItem>().Wait();

数据库已正确创建,但我无法在指定路径上找到它(在本例中为'/data/data/Todo.Android/files/TodoSQLite.db3')

我使用File Explore搜索,但没有。那么,这个档位在哪里?

2 个答案:

答案 0 :(得分:1)

  

数据库已正确创建,但我无法在指定的路径上找到它(在这种情况下&#39; /data/data/Todo.Android/files/TodoSQLite.db3')

仅从您的代码中,我没有看到您创建或成功连接到您的TodoSQLite.db3文件,您只需找到应放置数据库的文件夹路径。

我不知道您认为您的数据库是如何正确创建的,但如果您使用Environment.SpecialFolder.Personal,那么您尝试访问的路径是正确的,但由于您无法找到您的数据库文件,我只能想象你实际上没有正确地创建你的数据库。

您可以像这样编写代码来创建一个文件名为&#34; TodoSQLite.db3&#34;的数据库:

string dbPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
database = new SQLiteAsyncConnection(System.IO.Path.Combine (dbPath, "TodoSQLite.db3"));
database.CreateTableAsync<TodoItem>();

答案 1 :(得分:0)

您是否在根目录中查找该文件?

第一个数据文件夹应位于根目录(/)中,其中包含dev等文件夹和系统。您可能在手机存储目录中搜索了该文件夹(例如/ storage / emulated / 0)。据我所知,您只能使用root电话访问根目录。

如果您想获取文件:
您可以尝试使用其他文件资源管理器,但对于非root电话,应用程序数据通常仍然是隐藏的。

get the file使用您的计算机。