繁体   English   中英

Android - Ruby on Rails - MySQL

[英]Android - Ruby on Rails - MySQL

我已经开始研究一个Android应用程序,我们需要使用MySQL作为数据库,使用Ruby on Rails作为服务器端代码。 我们也将在设备上使用SQLLite(将在需要时同步DB)。 我搜索了网络,找不到任何相关的教程/示例,可以作为开始的基础。

我已经完成了MySQL和ROR教程,但仍然对将Android与ROR连接起来感到困惑。

有人可以分享一些相关的教程/代码片段,可以解释技术的完整链接。 我的意思是如何将数据从Android设备发送到MySQL,反之亦然。 我从理论上了解这个概念,但不知道如何以及从哪里开始。

我真诚地对提出这样一个基本问题表示歉意,或者我听起来含糊不清,但我是初学者,需要完成这项任务。 在预期中感谢..

以下是您应该了解的目标的简要概述。 我不会那么详细,特别是因为我从未亲自使用过RoR。 请注意,其中一些部分可能与RoR无关,但其背后的一般概念仍然适用。 我将由您来研究并弄清楚如何实现每个单独的组件。

一切的一般流程如下:

Android App <==>网络<==> Web服务<==> MySQL

请注意双刃箭头,因为数据将在两个方向上流动。

Android App是客户端, Web ServiceMySQL数据库位于Web Server 我只包含了网络部分的完整性,但是一旦将数据发送到网络,您就不必做任何事情。

每个部分的简要概述:

Android应用:

Android App是从Web服务器发送和检索数据的客户端。 我假设在您的应用程序中,您将允许用户执行某些任务,这些任务本质上会成为您希望在某个时刻发送到服务器的数据。

例如,用户应该能够输入他的名字和喜爱的动物。 假设用户可能会点击一个实际的“提交”按钮。 单击此“提交”按钮时,它应将数据包装成适当的格式以通过网络发送。 其中两个最常见的是JSONXML 一旦数据格式正确,您将需要使用某种类型的网络协议(如HTTP将数据发送到服务器。 为了发送数据,您当然必须有一些URL作为目标。 让我们说目标是www.example.com/webservice.php 此目标是位于Web服务器上的Web服务。

一旦发送数据,服务器将回复一些数据,此时您可以随意执行任何操作。 可能会将其显示给用户,或者将其粘贴到SQLite数据库中,甚至两者中。

要记住的关键是没有魔法。 我刚刚描述的所有内容都将以Java代码实现,您将在某些时候在Android应用程序中编写。

关键想法你应该更多地研究并弄清楚如何在Java代码中实现:

  • JSON和XML
  • Java中的HTTP
  • REST和SOAP
  • 是一个关于设置Android应用程序结构的可能方法的精彩视频。
  • 确保您在其他线程上的Android应用程序中执行所有网络操作。 一种易于使用的方法是Intent Service

网络服务:

这通常是最令人困惑的部分。 Web Service只是尝试访问Web Server客户端的一些入口点。 在使用RoR ,我的解释可能略有不同,但同样的想法适用。 请注意,目标URLwww.example.com/webservice.php Web服务实际上是Web服务器上存在的PHP代码,称为webservice.php 在Android应用程序中,当您使用HTTP将数据发送到目标URL ,Web服务代码将在服务器上执行(并且还可以访问您发送给它的数据)。 在Web服务代码中,您基本上将提取数据(以某种格式,如JSON),获取必要的部分,然后使用它。 在这种情况下,您很可能会查询数据库。 在PHP中,编写连接和查询也在服务器上运行的MySQL数据库的代码很容易。 当Web服务器检索到数据库的响应时,您可以将其发送回Android应用程序。 和以前一样,请记住,没有任何魔法可言。 所有这些想法都是通过编写一些代码来实现的。

研究的主要思路:

  • Ruby on Rails Web服务
  • 如何使用Ruby on Rails访问MySQL数据库

MySQL数据库:

您可以在此处将数据存储在Web服务器上。 我不打算深入研究这一点,因为这只是要求您在如何在Web服务器上设置MySQL数据库时进行大量阅读。 学习如何创建适当的查询(如SELECTINSERT等)也很重要。

研究的主要思路:

如何在Web服务器上设置MySQL数据库

如果您需要任何澄清,请告诉我们!

暂无
暂无

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

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