Moj*_*sin 21 sqlite android jdbc
我知道在Android上有android.database.sqlite包,提供有用的类来管理内部的android数据库.
问题是 - 我可以使用标准的java.sql包来操作Android的数据库,而无需使用android.database.sqlite中的任何内容.*我尝试使用SQLite JDBC驱动程序打开连接但是当我添加库作为项目eclipse的e引用时崩溃与"java堆内存不足...无法转换为dalvik VM".
Com*_*are 17
您无法java.*轻松导入JAR实现类.并且,JDBC需要移植到Android,因为它可能依赖于Android缺乏的JavaSE中的类.并且,无论如何,你需要为SQLite编写自己的JDBC驱动程序,包装Android已经提供的API,因为我怀疑现有的JDBC驱动程序使用JNI.而且,当所有这一切都完成后,您将拥有一个增加了大量膨胀的应用程序,从而降低了人们下载和保留您的应用程序的可能性.
总之,我不会走这条路.
kri*_*nlm 11
Android的SQLite数据库有一个(未记录的?)JDBC驱动程序.试试这个:(来自http://groups.google.com/group/android-developers/browse_thread/thread/cf3dea94d2f6243c)
try {
String db = "jdbc:sqlite:" + getFilesDir() + "/test.db";
Class.forName("SQLite.JDBCDriver");
Connection conn = DriverManager.getConnection(db);
Statement stat = conn.createStatement();
stat.executeUpdate("create table primes (number int);");
stat.executeUpdate("insert into primes values (2);");
stat.executeUpdate("insert into primes values (3);");
stat.executeUpdate("insert into primes values (5);");
stat.executeUpdate("insert into primes values (7);");
ResultSet rs = stat.executeQuery("select * from primes");
boolean b = rs.first();
while (b) {
Log.d("JDBC", "Prime=" + rs.getInt(1));
b = rs.next();
}
conn.close();
} catch (Exception e) {
Log.e("JDBC", "Error", e);
}
Run Code Online (Sandbox Code Playgroud)
the JDBC driver is undocumented and unsupported. please do not use this code.
avoid java.sql and use android.database.sqlite instead.
| 归档时间: |
|
| 查看次数: |
24582 次 |
| 最近记录: |