我有一个用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搜索,但没有。那么,这个档位在哪里?
答案 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使用您的计算机。