【问题标题】:How can I push data to the device?如何将数据推送到设备?
【发布时间】:2011-07-30 15:36:42
【问题描述】:

我需要一种方法将数据从我的网络服务器推送到我的设备,我该如何实现?我很想有一个指南来帮助我。我一直被困在 C2DM 上,这对我来说实在是太多了。这些指南只是代码行之后的所有列表行,并没有解释它们的作用,这很糟糕。如果您可以将我链接到可以教如何将数据推送到 android 设备的指南,我会很高兴。

【问题讨论】:

    标签: java android push device


    【解决方案1】:

    我同意没有太多关于 CD2M 的文档。对我来说,最好的文档是 Google 示例。你可以抓住它们并按照代码来了解它是如何工作的。例如herehere

    • 对于客户端(Android 应用程序),您有 3 个类来完成繁重的工作。你可以找到他们here。使用它们,将这些类复制到您的项目中,然后您可以子类化C2DMBaseReceiver 以提供您自己的实现(当您收到消息时会收到一个回调,一个错误的回调,等等)。请记住在您的 Manifest 中注册这些内容,查看这些示例中的 Manifest 以了解如何操作。
    • 服务器端要容易得多。基本上,您首先从 Google 获得一个身份验证令牌,然后您开始发送 HTTP 请求,这些请求是您的客户端将收到的消息。
    • 如果您打算使用 App Engine,那么您可以在这两个示例中找到有关如何实现服务器的示例。
    • 如果您打算将 .NET 用于服务器,请查看 C2DM Sharp
    • 否则,我相信您会找到一些已经实现的库或一些有关如何设置服务器的示例。

    【讨论】:

    • 当你说“子类 C2DMBaseReceiver”时,你的意思是将它复制到你的包中并使用它吗?因为我看了看,它似乎是一个很好的轮廓。我也将 3 个文件复制到了 com.google.android.c2dm 包中。我正在使用带有 PHP 语言的服务器,到目前为止,在使用复制和粘贴代码时获取身份验证代码没有问题,但我真的很想看看 Register() 函数中发生了什么,所以我会慢一点看着那些例子。我没有使用 App Engine,因为我真的认为没有必要,我认为这只会让我更加困惑,除非你认为我错了。
    • 您需要将 C2DMBaseReceiver 复制到您的项目(连同其他文件),然后将其子类化(这意味着您必须创建一个扩展 C2DMBaseReceiver 的类)。
    • 哦,制作另一个文件,说“C2DMReceiver”,然后是公共类“C2DMReceiver extends C2DMBaseReceiver {}”?我现在明白了。
    【解决方案2】:

    阅读这篇博文。它引用了许多可能性,可能正是您正在寻找的。 http://tokudu.com/2010/how-to-implement-push-notifications-for-android/

    【讨论】:

      【解决方案3】:

      在 .NET 3.5 或更高版本中使用 Windows Communication Foundation (WCF)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多