从远程数据库获取数据的Android应用程序

时间:2011-06-28 20:58:34

标签: android database sqlite ubuntu

我正在尝试编写一个Android应用程序,该应用程序将使用发布者/订阅者模型从将在某个远程服务器上托管的数据库中获取数据。这是一个原型应用程序,所以我只是在家用PC上托管服务器。我正在使用Ubuntu。我已经阅读并研究了这个主题,但是有很多分散的答案。我有很多问题要处理这个问题,但对于初学者来说......

  • 托管包含数据库的服务器的最佳方法是什么,与android一起使用?
  • 我使用什么类型的数据库是否重要?
  • 我可以使用android SQLite API从数据库中获取数据吗

我在多个地方读到,从互联网上的任何东西直接连接到数据库都不是犹太,特别是从移动设备。所以我认为我需要使用某种HTTP,REST或类似的东西。

我对这些都不熟悉,所以如果有任何相关信息会受到赞赏。

谢谢

2 个答案:

答案 0 :(得分:1)

Android app to connect to backend database / website

How to communicate with server's database from android phone?

这两个问题有一些好主意。

我要做的是创建一个Restful Web应用程序。可以通过HTTP方法表达CRUD数据库操作的地方。

  1. 创建 - POST / PUT
  2. 阅读 - 获取
  3. 更新 - POST / PUT
  4. 删除 - 删除
  5. 从Web端,您可以简单地使用JDBC来执行数据库操作。

    这是一个非常简单的建议,但我认为这是一个很好的起点。 (也许这很明显,但你肯定想要验证进来的请求,以防止对你的数据进行恶意攻击。)

答案 1 :(得分:1)

What is the best method for hosting a server that contains a database?

从服务器与数据库通信的角度来看,通常无论是Android还是其他任何客户端都没有区别。重要的是你定义了服务器和客户端之间通信的良好协议(在你的情况下是Android)。最好的可能是一些基于http的协议(REST可能是)。

does it matter what type of database I use?

对于客户来说无所谓。 Android将只是另一个客户端。所以对你没关系。选择最容易上手并且很好地采用的那个。 MySql,Postgres是很好的候选人。

Can I use the android SQLite APIs for getting data from the database.

没有

I read in multiple places that it is not kosher to connect to a database from anything over the internet directly

你肯定不想这样做。更重要的是,在设计服务器时,您可能希望将与数据库对话的代码与与客户端对话的代码分开。这将是面向服务架构的基础。