gpt4 book ai didi

android - 无法以读/写模式打开数据库

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:07:21 24 4
gpt4 key购买 nike

我遇到以下错误:

not an error (code 0): Could not open the database in read/write mode.

我已经添加了

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我试图在 SD 卡中的数据库中输入数据,我能够通过“OPEN_READONLY”读取数据库中已经存在的数据。使用“OPEN_READWRITE”时出现错误

最佳答案

你的问题不是很清楚,但我会尽量回答。

最有可能的是,您的数据库:

  1. 还不存在,必须自己创建;
  2. 你的 database file is read only ,您必须更改它(This question 可能相关)。

对于 #2,而不是使用 SQLiteOpenHelper#getReadableDatabase() , 使用 SQLiteOpenHelper#getWritableDatabase


如果您的数据库位于外部存储单元上,您还需要检查一些其他事项:

  1. 当前是否安装了外部存储?否则,您将无法访问数据库。
  2. 它是否以只读方式挂载?如果是这样,你将不得不改变这一点。
  3. 你检查过路径了吗?是否正确?

问题可能与这些主题中的任何一个有关。

要检查它是否以只读方式挂载,请尝试以下操作:

/* Checks if external storage is available for read and write */
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}

/* Checks if external storage is available to at least read */
public boolean isExternalStorageReadable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state) ||
Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
return true;
}
return false;
}

取自here .

有关Environment 类的更多信息,请refer to the docs .

关于android - 无法以读/写模式打开数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37593384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com