我正在尝试编写一个 Android 应用程序,该应用程序将使用发布者/订阅者模型从将托管在某个远程服务器上的数据库中获取数据。这是一个原型(prototype)应用程序,因此我将在我的家用 PC 上托管服务器。我正在使用 Ubuntu。我已经阅读并研究了这个主题,但有很多分散的答案。我有很多关于这个的问题,但对于初学者来说..
我在多个地方读到,直接通过互联网从任何东西连接到数据库是不公平的,尤其是从移动设备。所以我认为我需要使用某种 HTTP、REST 或类似的东西。
最佳答案
What is the best method for hosting a server that contains a database?
从服务器与数据库通信的角度来看,通常情况下无论是Android还是任何其他客户端都没有区别。重要的是您定义了服务器和客户端(在您的情况下为 Android)之间通信的良好协议(protocol)。最好的可能是一些基于 http 的协议(protocol)(可能是 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
你肯定不想这样做。更重要的是,当您设计服务器时,您可能希望将与数据库通信的代码与与客户端通信的代码分开。这将是面向服务架构的基础。
关于从远程数据库获取数据的 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6513011/