通过服务器在Android应用程序之间交换数据

时间:2013-07-30 18:47:28

标签: android web-services webserver lamp

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

以下是要求:

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

    1. 创建应用
    2. 设置LAMP服务器
    3. App将设备1中所需的数据以XML格式发送到服务器
    4. 服务器接受XML并解析它(使用DOM或SAX)。 XML将包含它必须转发该XML文件的设备(设备2)的详细信息。
    5. 将XML数据转发到设备2.
    6. 问题:

      1. 我的方法是否正确?请引导我,因为我从未这样做过。我最近的经验是使用名为Parse的网络服务。
      2. 是否足够设置LAMP服务器?我不这么认为。我想我必须在服务器上创建一个接受XML文件的应用程序,解析并转发它。此外,服务器需要能够保存所有设备信息。 我应该用什么语言创建此应用程序? PHP?是否有我可以实现的API /程序来实现这些功能?
      3. 我假设我必须使用HTTPClient来实现我的目标,对吗?
      4. 在我的案例中,我还需要了解/实施哪些内容?
      5. 如果有人能回答我的问题,我会非常感激。我是一个完全新手。谢谢:))

2 个答案:

答案 0 :(得分:3)

我的方法是否正确?

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

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

我应该使用什么语言创建此应用程序

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

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

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

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

在我的案例中,我还需要了解/实施哪些内容?

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

答案 1 :(得分:0)

由于这是一个Android问题,为什么不简单地使用app引擎创建一个appengine连接android(ACA)? https://developers.google.com/eclipse/docs/endpoints-androidconnected-gae

此外,您可以使用易于实施的GCM http://developer.android.com/google/gcm/index.html(因为默认的ACA项目预先实现了它)