【问题标题】:Exchanging data between android apps through a server通过服务器在安卓应用程序之间交换数据
【发布时间】:2013-07-31 01:40:01
【问题描述】:

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

以下是要求:

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

以下是我目前想到的:

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

问题:

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

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

【问题讨论】:

    标签: android web-services webserver lamp


    【解决方案1】:

    我的方法正确吗?

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

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

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

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

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

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

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

    是的

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

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

    【讨论】:

    • 谢谢!但是使用 MySQL 而不是 SQLite 不是更好吗?因为,SQLite 不支持多用户账户(设备);在我的情况下,需要多个用户帐户。
    • 您的服务器只能通过 1 个用户帐户访问数据库。在数据库中,您有表格等,将用户记录链接到他们的提交。听起来您应该在开始之前研究(关系)数据库如何表示数据。
    • 我知道关系数据库,但是,我肯定会调查它 :) 非常感谢您的帮助。如果没有更好的答案,我会选择你的答案正确。
    【解决方案2】:

    既然这是一个 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 项目已预先实现)

    【讨论】:

    • 正如我所提到的,我这样做是出于学习目的,因此不想使用可以完成我大部分工作的 Web 服务。
    猜你喜欢
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多