1

出于学习目的,我正在制作一个必须与服务器交换数据的 Android 应用程序现在,我熟悉 Android 编程,所以这不是问题。问题是我从未设置过服务器并通过该服务器与应用程序交换数据。

以下是要求:

  1. 通过应用程序将数据从一台设备发送到另一台设备。
  2. 数据交换将在 LAMP 服务器的帮助下完成。这些设备将在服务器上注册,即他们将拥有他们的“帐户”。
  3. 设备 1 将数据发送到服务器,服务器将其推送到设备 2,设备 2 也将拥有应用程序。

以下是我到目前为止的想法:

  1. 创建应用
  2. 设置 LAMP 服务器
  3. 应用程序以 XML 格式从设备 1 向服务器发送所需的数据
  4. 服务器接受 XML 并解析它(使用 DOM 或者可能是 SAX)。XML 将包含它必须将该 XML 文件转发到的设备(设备 2)的详细信息。
  5. 将 XML 数据转发到设备 2。

问题:

  1. 我的方法正确吗?请指导我,因为我从来没有这样做过。我最接近的经验是使用名为Parse的 Web 服务。
  2. 设置一个 LAMP 服务器就够了吗?我不这么认为。我想我必须在服务器上创建一个应用程序来接受 XML 文件,解析它并转发它。此外,服务器需要能够在其上保存所有设备信息。我应该用什么语言创建这个应用程序?php?是否有我可以实现的 API/程序来实现该功能?
  3. 我假设我必须使用 HTTPClient 来实现我的目标,对吗?
  4. 在我的情况下,我还需要了解/实施什么?

如果有人能回答我的问题,我将非常感激。我在这方面完全是新手。谢谢 :)

4

2 回答 2

3

我的方法正确吗?

您的想法是正确的,但是您更可能希望通过 POST 或 GET 请求而不是 XML 将数据传递到您的服务器。您可以通过这些方法传递值和数组,并且不需要使用 xpath 或类似的东西来解析 XML。

将数据返回到移动设备,您可以使用 XML,但 JSON 目前是 API 的首选格式。

我应该用什么语言创建这个应用程序

PHP 是一种合适的语言,其他可能性包括 ruby​​ on rails、asp.net、python 等(有很多选择)。

是否有我可以实现的 API/程序来实现该功能?

使用所用语言的核心库,接收 GET/POST 请求并将数据传输到数据库/平面文件应该是相当直接的。

我假设我必须使用 HTTPClient 来实现我的目标,对吗?

是的

在我的情况下,我还需要了解/实施什么?

决定如何存储数据服务器端,如果您使用数据库,则需要对其进行设置并对 SQL 进行一些研究,如果您无法访问 SQL 服务器,则可以选择 SQLITE (数据库存储在可移植文件中)或使用平面文件。

于 2013-07-30T18:54:44.070 回答
0

既然这是一个 android 问题,为什么不简单地使用 app engine 来创建一个 appengine connected android (ACA)?https://developers.google.com/eclipse/docs/endpoints-androidconnected-gae

您也可以使用易于实现的 GCM http://developer.android.com/google/gcm/index.html(因为默认的 ACA 项目已经预先实现)

于 2013-07-30T18:50:31.277 回答