开发者

Android - Access to online Database SQlite

I need to open, read and insert items into an online SQLite database from an Android app.

I know url, username and password. In JavaSE i would do the following:

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

I read that I can't do this in Android be开发者_如何学编程cause there is not a JDBC Driver (there is a "SQLite.JDBCDriver" but it is not documented and not recommended).

So which is the easiest way? I asked to Google but it looks like he either doesn't know.


You should expose your datasource like this via an intermediary such as a Web Service for at least the following reasons:

  • someone has direct access to your datasource and can read, manipulate or destroy the data
  • abstraction; you can control the way in which the data is sent and how it's represented. Should the database tables/objects change, you'd only have to change the web service instead of force an update (in some cases)
  • JSON interaction is very well supported on Android out of the box, whereas JDBC isn't (for previously documented reasons)

I'm sure there are plenty of more reasons, but the above are the most prevalent in my mind.


There is no official support for JDBC on Android. There is a private SqlLite driver, but it's not recommended as it is unsupported and might go away in the future.

Read these:

Does Android Support JDBC

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

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

So the recommended way is to not use internal (private) SQlite driver and instead create a REST layer on server through which you access data. This is a recommended way as it minimizes load on device side and also gives you opportunity to create authentication on the server side - having publicly accessible JDBC connection is a big no-no.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜