以下是您为实现目标应了解的内容的简要概述。我不会详细介绍,尤其是因为我从未亲自使用过 RoR。请注意,其中一些部分可能与 RoR 不完全相关,但其背后的总体思想仍然适用。我将留给您研究并弄清楚如何实现每个单独的组件。
一切的一般流程如下:
Android 应用 <==> 网络 <==> 网络服务 <==> MySQL
请注意双刃箭头,因为数据将双向流动。
是Android App
客户端,Web Service
和MySQL
数据库位于您的Web Server
. 为了完整起见,我只包括了网络部分,但是一旦数据被发送到网络上,您就不必做任何事情。
每个部分的简要概述:
安卓应用:
Android 应用程序是从 Web 服务器发送和检索数据的客户端。我假设在您的应用程序中,您将允许用户执行一些任务,这些任务实质上成为您想要在某个时候发送到服务器的数据。
举个例子,用户应该能够输入他的名字和最喜欢的动物。假设有一个用户可以单击的实际“提交”按钮。单击此“提交”按钮时,它应该将数据包装成适当的格式,以便通过网络发送。最常见的两个是JSON
和XML
。正确格式化数据后,您将需要使用某种类型的网络协议将数据发送到服务器,例如HTTP
. 为了发送数据,你当然必须有一些URL
作为目标。可以说目标是www.example.com/webservice.php
。这个目标是我们位于 Web 服务器上的 Web 服务。
一旦您发送数据,服务器将响应一些数据,此时您可以对它做任何您想做的事情。也许将其显示给用户,或者将其保存在SQLite
数据库中,甚至两者兼而有之。
要记住的关键是没有魔法发生。我刚刚描述的所有内容都将在 Java 代码中实现,您将在某个时候在您的 Android 应用程序中编写这些代码。
您应该更多地研究并弄清楚如何在 Java 代码中实现的关键思想:
- JSON 和 XML
- Java中的HTTP
- REST 和 SOAP
- 这是一个关于设置 Android 应用程序结构的可能方法的精彩视频。
- 确保您在不同的线程上执行 Android 应用程序中的所有网络操作。一个易于使用的方法是Intent Service。
网络服务:
这通常是最令人困惑的部分。AWeb Service
只是尝试访问Web Server
. 我在这里的解释在使用时可能会略有不同RoR
,但同样的想法也适用。请注意,上面的目标URL
是www.example.com/webservice.php
。Web 服务实际上是PHP
存在于 Web 服务器上的代码,称为webservice.php
. 在您的 Android 应用程序中,当您URL
使用HTTP
,Web 服务代码将在服务器上执行(并且还可以访问您发送给它的数据)。在您的 Web 服务代码中,您基本上将提取数据(采用某种格式,如 JSON),获取必要的部分,然后对其进行处理。在这种情况下,您很可能会查询数据库。在 PHP 中,很容易编写代码来连接和查询也在服务器上运行的 MySQL 数据库。当 Web Server 检索到数据库的响应时,您可以将其发送回 Android App。就像以前一样,记住,没有魔法发生。所有这些想法都是通过编写一些代码来实现的。
主要研究思路:
- Ruby on Rails 网络服务
- 如何使用 Ruby on Rails 访问 MySQL 数据库
MySQL数据库:
这是您将数据存储在 Web 服务器上的位置。我不打算在这里深入讨论,因为这只是需要您大量阅读有关如何在 Web 服务器上设置 MySQL 数据库的内容。了解如何创建适当的查询(例如 等)也很SELECT
重要INSERT
。
主要研究思路:
如何在 Web 服务器上设置 MySQL 数据库
如果您需要任何澄清,请告诉我!