0

我正在开发一个 Android 应用程序,该应用程序持有一个到消息服务器的套接字连接。我有一组可运行的,它们产生自己的线程并处理连接/维护连接。这些是从前台服务调用的。前台服务是处理所有的消息处理/业务逻辑。这不会太复杂,它将涉及操作 XML,通过 SQLite DB 拖网。活动将是单薄和愚蠢的 - 将所有内容传递给前台服务。

我在 mindtherobot.com 上查看了一个教程,该教程详细介绍了如何构建一个基本的 twitter 客户端,该客户端具有一个后台服务,该服务会定期轮询 Twitter API 并将该数据传递给活动。(我不想发布指向它的实际链接,因为它在 Google atm 上显示为受恶意软件感染/有害)。为此,它使用远程服务。

使用远程服务意味着它涉及AIDL来处理IPC,而不是仅仅使用绑定。

我不确定是否有必要这样做。我的服务不会被任何第 3 方应用程序使用 - 从我所读到的内容来看,除非严格需要,否则使用远程服务是不受欢迎的(因为它会使开销翻倍)。

将来,我可能想添加小部件来显示来自前台服务的通知——这会改变远程服务的任何内容吗?

4

1 回答 1

0

标准模式是使用:

  • 处理程序以触发定期 Intent
  • BroadcastReceiver 来监听所说的意图。当它唤醒时,轮询服务器并存储任何新数据
  • ContentProvider 向 Activity 提供数据

确保不要太频繁地触发周期性 Intent,否则会耗尽电池电量。

再说一次,您可以改为创建一个通过 C2DM 推送数据的服务器。

于 2012-04-26T13:28:44.233 回答