安卓创建数据库的权限

2022-09-04 01:24:00

嗨,我在Android中创建sqlite数据库时遇到了一些问题。

模拟器上一切都很好,我可以创建数据库。但它在实际的机器上不起作用。当我尝试在手机上调试应用程序时,它无法创建数据库。

那么谁能告诉我发生了什么事吗?我需要在清单文件中添加任何特殊权限吗?我尝试过ACCESS_CHECKIN_PROPERTIES或WRITE_EXTERNAL_STORAGE,但仍然无法获取数据库。

顺便说一句,自定义数据库只能存储在SD卡中而存储在根目录中吗?

谢谢!!


答案 1

如果错误中没有任何反馈,就不可能告诉您代码中出了什么问题。但是,我可以告诉您,您不需要使用自己的数据库。除非您尝试访问SD卡,否则您也不需要。ACCESS_CHECKIN_PROPERTIESWRITE_EXTERNAL_STORAGE

默认情况下,数据库存储在内部存储中应用程序文件夹的子文件夹中,即:

/data/data/YOUR_APP/databases/YOUR_DATABASAE.db

如果您在物理设备上执行此操作,则必须将其植根。


答案 2

我有完全相同的问题。我的应用程序将在模拟器上创建一个数据库,读取和写入数据,但它在设备上崩溃了。

我找到了一个非常简单的解决方案:在/data/data/YOUR_APP/databases/YOUR_DATABASAE.db手动删除设备上的数据库,然后重新运行您的应用程序。

在我的情况下工作,希望它有帮助。


推荐