Java Android sqlite jdbc可以';由于只读文件系统,无法连接

Java Android sqlite jdbc可以';由于只读文件系统,无法连接,java,android,database,sqlite,jdbc,Java,Android,Database,Sqlite,Jdbc,我试图打开一个sqlite jdbc连接,但我一直收到一个异常 java.sql.SQLException:打开数据库: “\data\data\com.lppapp.ioi.lpp\databases\lppDB.db”:只读文件 系统 在尝试获取jdbc连接之前,我将数据库复制到内部存储器中,并尝试从那里访问它。我正在使用此代码连接: public Connection connect() { String url = "jdbc:sqlite:\\data\\data\\com.l

我试图打开一个sqlite jdbc连接,但我一直收到一个异常

java.sql.SQLException:打开数据库: “\data\data\com.lppapp.ioi.lpp\databases\lppDB.db”:只读文件 系统

在尝试获取jdbc连接之前,我将数据库复制到内部存储器中,并尝试从那里访问它。我正在使用此代码连接:

public Connection connect() {
    String url = "jdbc:sqlite:\\data\\data\\com.lppapp.ioi.lpp\\databases\\lppDB.db";
    Connection conn = null;

    try {
        Properties config = new Properties();
        config.setProperty("open_mode", "1");
        //TODO: can't open db (read-only file system) even though directory has a+rw permissions
        conn = DriverManager.getConnection(url, config);

        System.out.println("Connection successful.");
    } catch (SQLException e) {
        System.out.println("Connection failed.");
        System.out.println(e.getMessage());
    }

    return conn;
}
我使用的是Android模拟器,我已经检查了databases目录的权限


我已经尝试了在web上找到的所有解决方案,但没有任何帮助。

我决定使用Commonware提到的Android原生SQLite API


谢谢

为什么要使用JDBC,而不是Android的原生SQLite API或围绕它的东西(例如Room)?你为什么用反斜杠?