繁体   English   中英

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

[英]Android application that gets data from a remote database

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

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

我在多个地方读到,直接从互联网上的任何东西连接到数据库是不公平的,尤其是从移动设备。 所以我想我需要使用某种 HTTP、REST 或类似的东西。

Android 应用程序连接到后端数据库/网站

如何从 android 手机与服务器的数据库通信?

这两个问题有一些很好的想法。

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

  1. 创建 - POST/PUT
  2. 阅读 - 获取
  3. 更新 - POST/PUT
  4. 删除 - 删除

从 web 方面,您可以简单地使用 JDBC 来执行您的数据库操作。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM