Android - 访问在线数据库SQlite

时间:2010-12-30 13:04:13

标签: java android database sqlite jdbc

我需要从Android应用程序打开,阅读和插入在线SQLite数据库
我知道网址,用户名和密码。在JavaSE中,我将执行以下操作:

Class.forName("com.mysql.jdbc.Driver");
Connection dbConnection = DriverManager.getConnection(URL, USER, PASSWORD);

我读到我不能在Android中执行此操作,因为没有JDBC驱动程序(有"SQLite.JDBCDriver"但没有记录,不推荐使用。)
那么哪种方式最简单?我向谷歌询问,但看起来他要么不知道。

2 个答案:

答案 0 :(得分:2)

Android上没有对JDBC的官方支持。有一个私有的SqlLite驱动程序,但不建议使用它,因为它不受支持,将来可能会消失。

阅读以下内容:

Does Android Support JDBC

http://groups.google.com/group/android-developers/browse_thread/thread/cf3dea94d2f6243c

http://code.google.com/p/sqldroid/

因此,推荐的方法是不使用内部(私有)SQlite驱动程序,而是在服务器上创建REST层,通过该层访问数据。这是一种推荐的方式,因为它最大限度地减少了设备端的负载,并且还为您提供了在服务器端创建身份验证的机会 - 具有可公开访问的JDBC连接是一个很大的禁忌。

答案 1 :(得分:2)

您应该通过Web Service等中介公开这样的数据源,原因如下:

  • 有人可以直接访问您的数据源,可以读取,操作或销毁数据
  • 抽象;您可以控制数据的发送方式及其表示方式。如果数据库表/对象发生更改,您只需更改Web服务而不是强制更新(在某些情况下)
  • 在开箱即用的Android上支持JSON交互,而JDBC则不支持(以前记录的原因)

我确信还有很多其他原因,但上述情况在我看来最为普遍。