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

标签 android database sqlite ubuntu

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

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

  • 我在多个地方读到,直接通过互联网从任何东西连接到数据库是不公平的,尤其是从移动设备。所以我认为我需要使用某种 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/

    相关文章:

    SQLite - 仅按年选择行?

    android - 忽略 Firebase 存储安全读取规则

    android - 如何使用 ionic 3 @ionic-native/http 在 native HTTP 中传递 FormData?

    android - setKeepScreenOn/FLAG_KEEP_SCREEN_ON 的正确方法

    android - DialogFragment FEATURE_NO_TITLE 已缩小

    ios - 我的核心数据模型出了什么问题?

    database - 在本地使用像 mLab 这样的 DBaaS 而不是 MongoDB 有什么优势吗?

    java - 如何用 2 个不同的类刷新 Jtable?

    Java - 内存管理/数据库连接问题

    android - 从数据库在listView中生成背景色