Java Android-访问在线数据库SQlite

Java Android-访问在线数据库SQlite,java,android,database,sqlite,jdbc,Java,Android,Database,Sqlite,Jdbc,我需要从Android应用程序打开、读取项目并将其插入在线SQLite数据库我知道url、用户名和密码。在JavaSE中,我将执行以下操作: Class.forName("com.mysql.jdbc.Driver"); Connection dbConnection = DriverManager.getConnection(URL, USER, PASSWORD); 我读到我不能在Android中这样做,因为没有JDBC驱动程序(有一个“SQLite.JDBCDriver”,但它没有文档记

我需要从Android应用程序打开、读取项目并将其插入在线SQLite数据库
我知道url、用户名和密码。在JavaSE中,我将执行以下操作:

Class.forName("com.mysql.jdbc.Driver");
Connection dbConnection = DriverManager.getConnection(URL, USER, PASSWORD);
我读到我不能在Android中这样做,因为没有JDBC驱动程序(有一个
“SQLite.JDBCDriver”
,但它没有文档记录,也不推荐使用)。

那么哪种方法最简单?我问过谷歌,但看起来他要么不知道。

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

请阅读以下内容:


所以建议不要使用内部(私有)SQlite驱动程序,而是在服务器上创建一个REST层,通过它访问数据。这是一种推荐的方法,因为它可以最大限度地减少设备端的负载,还可以让您有机会在服务器端创建身份验证—拥有可公开访问的JDBC连接是一个大问题。

您应该通过中介(如Web服务)这样公开数据源,至少出于以下原因:

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

我相信还有很多原因,但以上是我脑海中最常见的。

我怀疑“正确”的方法是创建一个RESTful Web服务作为数据库的接口。我已经阅读了这三页,但它们对我的实践没有帮助:)我应该使用哪些类?使用这个sqldroid驱动程序是个好主意?不要使用JDBC。在服务器上创建REST层。我更新了答案。使用Jersey简单地构建一个休息层:ehm。。。对于我的知识来说,它看起来相当先进:)