【问题标题】:input data into android database将数据输入android数据库
【发布时间】:2010-06-25 07:17:08
【问题描述】:

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

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

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

但它不适用于 android(emulator) 数据库。 数据库已在android中创建。

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

我猜测 tcp 是错误的。 我该如何解决?

【问题讨论】:

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


    【解决方案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 
    

    【讨论】:

    • 嗨 gawcio,感谢您的回复。对于我的项目,我必须创建一个程序,将 excel 数据直接推送到模拟器的数据库中。您还有其他替代解决方案吗?
    【解决方案2】:

    因为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");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 1970-01-01
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多