【发布时间】:2019-12-12 16:58:25
【问题描述】:
我正在使用 xamarin 共享项目创建一个 android 应用程序。
我使用 SQLite 创建了一个数据库来存储用户的用户名、密码、电子邮件和其他信息。
这是我创建 SQLite 代码的代码,但没关系,因为我知道它有效。用户可以注册,登录,进入主页,在那里他们可以看到用户信息列表。这意味着我可以从 UserDatabase.db3 数据库中选择和插入数据。
var fileName = "UserDatabase.db3";
var documentPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
var path = Path.Combine(documentPath, fileName);
var platform = new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid();
var connection = new SQLiteConnection(platform, path);
问题是我看不到或找不到 UserDatabase.db3。
我可以说的是 SQLite 数据库存储在用户的手机上,而 .db3 文件隐藏在位置下
/Data/Data/com.companyname.AppName/File/
在谷歌上它说我需要如何 root 我的手机(这意味着什么)。但是不应该有办法在不生根的情况下看到这个发现吗?也许是一个可以访问 .db3 而无需 root 垃圾的桌面软件?
我也尝试了以下方法,但是找不到 db3 文件
Visual Studio > View > Tool Windows > Device File Explorer
如果没有其他方法可以访问我的 db3 文件,那么是否有解决方法?
我想我可以在我的应用程序中创建一个测试页面,在其中使用“选择”语句来显示表格?这是个好方法吗?
【问题讨论】:
-
参见:How to access data/data folder in Android device? 和 How do I root my Android device?。或者使用应该允许访问的模拟器。
-
在真实手机中,数据库安装在无法访问的位置,您需要获得 root 访问权限。您应该只能从创建数据库的应用程序(xamarin)访问它。或者如果它安装在存储卡上,还有其他方法,但不建议使用。
-
我尝试使用 Visual Studio 访问我的 db3,但没有成功
-
@Morrison 谢谢,但我觉得我的手机生根不舒服