1

我有一个应用程序将一些数据保存在本地 sqlite 数据库文件中。在我的一台设备上,有时尝试读取此数据会导致“文件路径无效”对话框。

我在 SQLiteHelper 中用于设置数据库文件路径的代码:

static String getEnvironmentPath() {
    if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
        return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "custom.db";
    } else {
        return "custom.db";
    }
}

实际上,我什至不确定是否由于数据库而显示此无效的文件路径弹出窗口,我只是在我的一台设备上不时从数据库中读取一些数据时收到此错误。

最初以为我的情况类似于How to open pdf file in package path in android?,但是为什么在同一个数据库文件中 75% 的数据可以正常读取,而 25% 会导致此错误并且仅在一个设备上?

有什么问题?

谢谢!

4

2 回答 2

0

我希望您已在清单文件中授予权限。

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

另外,我不确定 getExternalStoragePublicDirectory(...) 是否为您提供了正确的路径。只需调试并检查您是否正在获取路径

  /data/data/com.example.program/databases/xxx.db  or not !
于 2013-06-18T05:15:15.383 回答
0

难以置信,但事实是 - 从设备中删除 Adob​​e Reader 解决了问题!我在我的应用程序中保留新闻,其中一些包含 html 中的 flash 视频,因此 Adob​​e Player 试图打开这些并导致此“无效路径”错误。

于 2013-06-18T13:49:06.080 回答