将数据输入android数据库

时间:2010-06-25 07:17:08

标签: java android tcp database-connection android-emulator

我目前正在开发一个将excel数据插入android数据库(sqlite)的java程序。

当我将TestDB(sqlilte db)放入c:驱动器时,它可以工作。

Connection con = DriverManager.getConnection("jdbc:sqlite:C:\\TestDB");

但它不适用于android(模拟器)数据库。 该数据库已在android中创建。

Connection con = DriverManager.getConnection("jdbc:sqlite://127.0.0.1:5554:/data/data/com.app.das/databases/TestDB");

我猜tcp是错误的。 我该怎么办呢?

2 个答案:

答案 0 :(得分:1)

我担心你无法直接连接到模拟器的数据库。

所以拉数据库文件,编辑并推回:

adb pull /data/data/com.app.das/databases/TestDB c:\TestDB

然后

Connection con = DriverManager.getConnection("jdbc:sqlite:C:\\TestDB");
... do your job ...

并在最后

adb push c:\TestDB /data/data/com.app.das/databases/TestDB 

答案 1 :(得分:0)

因为PC中的驱动程序在android中不起作用,所以有两种不同的系统! 如果你想使用JDBC访问android中的数据库,你应该编写自己的驱动程序,如https://github.com/SQLDroid/SQLDroid

然后,您可以这样使用:

Class.forName("org.sqldroid.SQLDroidDriver");
    Connection conn = DriverManager.getConnection("jdbc:sqldroid://data/data/com.android.providers.telephony/databases/mmssms.db");