【问题标题】:Update ListView content via JSON response without the use of service通过 JSON 响应更新 ListView 内容而不使用服务
【发布时间】:2013-11-17 06:11:08
【问题描述】:
我现在正在考虑这个问题。好吧,我对此有一些想法,但我知道它行不通。现在我想要实现的是让 listView 的适配器自动更新,而以 JSON 格式提供响应的 Web 服务在后台运行。
好吧,提供更多想法我只是想知道 facebook 应用程序如何在不使用拉动刷新的情况下提取更新?我正在考虑一种方式:他们使用运行的服务,比如说每 15 秒运行一次并获取更新。但是,这可以像 AJAX 的工作原理一样以更实时的方式完成吗?
希望有人能就此提出想法,因为我真的很想创建一个在实时更新上运行但不需要在设备端占用太多内存的应用程序。
【问题讨论】:
标签:
android
ajax
json
algorithm
design-patterns
【解决方案1】:
使用 Google 云消息传递。
Google Cloud Messaging for Android (GCM) 是一项免费服务,可帮助
开发人员将数据从服务器发送到他们的 Android 应用程序
Android 设备,以及从用户设备返回的上游消息
云端。这可能是一条轻量级消息,告诉 Android
有新数据要从服务器获取的应用程序(例如
例如,“新电子邮件”通知通知应用程序它
与后端不同步),或者它可能是一条包含
高达 4kb 的有效负载数据(因此即时消息等应用程序可以使用
直接发消息)。 GCM 服务处理排队的所有方面
消息和传递到运行的目标 Android 应用程序
目标设备。
以下是 Google Cloud Messaging (GCM) 的主要特征:
- 它允许第 3 方应用服务器将消息发送到他们的
安卓应用。
- 使用 GCM 云连接服务器,可以接收上游
来自用户设备的消息。
- Android 设备上的 Android 应用程序不需要
运行接收消息。系统会唤醒安卓
消息到达时通过 Intent 广播应用程序,只要
因为应用程序设置了正确的广播接收器,并且
权限。
- 它不提供任何内置的用户界面或其他处理
用于消息数据。 GCM 只是传递接收到的原始消息数据
直接到 Android 应用程序,它可以完全控制如何
来处理它。例如,应用程序可能会发布一个
通知、显示自定义用户界面或静默同步
数据。
- 它要求运行 Android 2.2 或更高版本的设备还具有
已安装 Google Play 商店应用程序,或正在运行的模拟器
带有 Google API 的 Android 2.2。但是,您不限于
通过 Google Play 商店部署您的 Android 应用程序。
-
它使用现有的 Google 服务连接。对于 3.0 之前的版本
设备,这需要用户在他们的
移动设备。设备不需要 Google 帐户
运行 Android 4.0.4 或更高版本。
查看webpage了解更多详情