【问题标题】:How to push XML file from server to android application via GCM server如何通过 GCM 服务器将 XML 文件从服务器推送到 android 应用程序
【发布时间】:2013-03-07 20:40:02
【问题描述】:

我正在尝试基于 GCM 的 android 应用程序将消息从服​​务器推送到 android 客户端。我可以使用以下 coe 推送修复字符串。我想知道从服务器推送 XML 文件并在 android 应用程序中解析的方法。我做了一些研究,但我找不到推送 XML,而是找到了发送 XML 文件。谢谢

if (androidArray.size() == 1) {

    String registrationId = androidArray.get(0);
    Message message = new Message.Builder()
    .collapseKey(collapseKey)
    .timeToLive(30)
    .delayWhileIdle(true)
    .addData("message", Message)
    .build();

    Result result = sender.send(message, registrationId, 5); 

【问题讨论】:

  • 大家好!非常感谢您的帮助!

标签: android xml xml-parsing push


【解决方案1】:

您不会将 xml(最好是 JSON)推送到 android 应用程序。您向应用程序发送一条简单的消息。 当应用程序收到消息时,它需要从网站上提取 xml/json,并使用 http get 请求到将提供 xml 的相关 url。 然后,Android 应用程序可以解析响应并做任何你想做的事情。

这是 C2DM 的优秀教程(GCM 的先驱)http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html 您应该能够计算出所需的差异。

更新

Google Android 有关于 GCM 的完整部分,可在此处找到 http://developer.android.com/google/gcm/index.html

在该链接中有入门指南和 GCM 演示应用

您可以发送的数据量是有限制的,您不应依赖您的数据从未超过限制或 Google 任意更改允许您发送的数据量。

如果发生其中任何一种情况,您需要更新您的应用,所以首先要做的是正确的。

您发送的消息应充当“密钥”,以确定收到消息时要采取的操作。

更新

如果您真的很喜欢冒险,您可以使用自定义同步适配器来帮助您使用您的网络服务。这是相当高级的东西,但如果您对此感到好奇,请观看 Google I/O 研讨会关于使用 RESTfull Web 服务http://www.youtube.com/watch?v=xHXn3Kg2IQE

【讨论】:

  • 非常感谢您的回复。所以你是在告诉我,一切都可以从 android 应用程序中完成,对吧?我想知道那个推送消息包含什么?为什么不像字符串消息那样推送 XML 文件?
  • "您不会将 xml(或 JSON 最好)推送到 android 应用程序。" - 从技术上讲,只要有效负载不超过 4KB,就没有理由不能将 XML 数据推送到应用程序。这样做会更有效率,因为应用程序不需要为少量数据发出 HTTP GET 请求。
  • @TseringYangzom 浏览 C2DM 的链接,一切都应该清楚了:) 不过我会更清楚地更新我的答案。
  • @jamesw :同意,Google 可以更改数据负载的允许大小,但如果他们打算这样做,他们为什么要将 C2DM 允许的 1KB 负载增加到 4KB为 GCM?假设有效负载只有 128 个字节(例如,对于带有 URI 的简单通知就足够了)如果他们将其减少到 64 个字节怎么办?例如,如果我的通知经常使用 70 或 80 字节,它仍然可能会破坏我的应用程序。多少的数据量才足以阻止 Google 破坏应用开发者的工作?
  • @Squonk 这会很痛苦,但他们已经做了很多事情,关键是作为开发人员,我们完全无法控制。所以尽你所能消除这个问题。如果他们将限制增加到 100 MB 并引入每月对超过一定有效负载量的任何内容的收费。那最终可能会让你付出代价。他们可以而且可能会再次改变事情,我们不知道这会产生什么影响或他们会改变什么。这是我使用库还是编写自己的代码的古老问题?如果您使用库,请尽量减少更改可能产生的任何影响
猜你喜欢
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 2011-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
相关资源
最近更新 更多