如何解决无法在指定设备上打开数据库
在我的应用程序中,使用以下代码打开数据库:
private final static String DB_NAME = "db_dates";
public void openDataBase() throws SQLException {
String myPath = context.getDatabasePath(DB_NAME).toString();
File dbfile = new File(myPath);
if( dbfile.exists()) {
db = SQLiteDatabase.openDatabase(myPath,null,SQLiteDatabase.OPEN_READWRITE);
} else {
try {
copyDataBase();
} catch (IOException e) {
e.printStackTrace();
}
}
}
清单中有:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
在几乎所有设备上,除华为设备外,我的代码都能完美运行。对于他们,我会收到下一条错误消息:
CantOpenDatabaseException: unknown error (Sqlite code 14 SQLITE_CANTOPEN): Could not open database,(OS error - 2:No such file or directory)
谁知道这些设备上的数据库路径是否不同?还是需要他人权限?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。