gpt4 book ai didi

android - 适用于 Android 的 SQLDroid JDBC 驱动程序

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:21 24 4
gpt4 key购买 nike

我需要在 Android 应用程序上使用数据库,因为在使用时用户将无法访问互联网。为此,我想通过 JDBC 和 SQL Lite 连接到数据库。经过一些研究,我发现 Android API 不支持它,但有一个项目可以做到这一点:SQLDroid

我下载了 jars 并遵循了主要教程,但我一直收到 sql 异常 java.sql.SQLException: No suitable driver
当我想创建与 DriverManager 的连接时。

String url = "jdbc:sqldroid:" + "/data/data/com.mypackage.droid" + "/main.sqlite";
Connection con = DriverManager.getConnection(url);

我做错了什么?顺便说一句,我的 Activity 名为“AndroidActivity”,包名为 com.mypackage.droid。

编辑:完整代码:

public class AndroidActivity extends Activity {


String url = "jdbc:sqldroid:" + "/data/data/com.mypackage.droid" + "/main.sqlite";
static Connection con;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
Class.forName("SQLite.JDBCDriver");
con = DriverManager.getConnection(url);
} catch (java.sql.SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}

最佳答案

你声明了吗:

Class.forName("SQLite.JDBCDriver");

在声明连接之前?

编辑:

抱歉,我认为您想使用 native Android JDBC 驱动程序。在这种情况下,这将是我的方法。

但是由于您使用的是自带驱动程序的 SQLDroid 库,因此您必须先通过 smth 注册驱动程序。喜欢:

Class.forName("org.sqldroid.SqldroidDriver").newInstance();

关于android - 适用于 Android 的 SQLDroid JDBC 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7917052/

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