1

首先,我应该提一下,我是 Android 的新手(在 Java 方面没有太多经验),所以请放轻松。

我正在制作一个应用程序,它不断地从服务器中提取数据,然后通过 http post 请求返回数据。问题是,处理从服务器实际拉取的最佳方式是什么?我应该使用 AsyncTask 还是创建另一个线程并让它在上面运行?有没有更好的方法来达到这个目的?

我将每 5 分钟提取一次数据。(我知道这会很快耗尽电池,我肯定会使用 Androids C2DM 框架。但我之前没有这方面的经验,而且我在截止日期前,所以这必须做,直到我有时间学习如何实现它。)

我很感激任何建议!

4

2 回答 2

2

作为 C2DM 的替代方案,您可以在设备和服务器之间建立持久的 TCP 连接。然后每 5 分钟,您的服务器就可以向设备推送一个痒痒的消息。被挠痒痒后,设备可以通过 Http post 请求信息。

这是一些有关如何执行此操作的示例代码。即使在应用程序退出后,连接也会在后台线程中保持打开状态

创建和管理持久 TCP 套接字: http: //openmobster.googlecode.com/svn/trunk/cloud/android/connection/src/main/java/org/openmobster/core/mobileCloud/android/module/connection/NotificationListener。爪哇

完全披露:我是 OpenMobster 的首席工程师,我编写了这段代码。请随意使用您喜欢的任何东西,或者如果那是您需要的,请了解一下

谢谢

于 2012-03-21T16:34:56.797 回答
0

您是否需要在后台提取数据(即使您的应用未“打开”并且 android 设备正在休眠)?我想这就是你想要的,因为你提到了 C2DM。如果是这样..流行语是 AlarmManager(重复时间)/BroadCastReceiver,也许是 NotificationManager 来通知用户。使用 AlarmManager 您可以安排您的事件(每 5 分钟一次),使用 BroadcastReceiver 您可以接收这些事件并每 5 分钟执行一次您想做的事情:)

于 2012-03-21T16:00:46.110 回答