具有底层套接字连接的Android应用程序 - 远程服务与否?

时间:2012-04-26 12:18:52

标签: android sockets binding service aidl

我正在开发一个Android应用程序,它包含一个对消息服务器开放的套接字连接。我有一组runnables,它们生成自己的线程并处理连接/维护连接。这些是从前台服务调用的。前台服务是处理所有消息处理/业务逻辑。这将不会太复杂,它将涉及操纵XML,通过SQLite DB进行拖网。活动将变得轻薄而愚蠢 - 将所有内容传递给前台服务。

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

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

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

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

1 个答案:

答案 0 :(得分:0)

标准模式是使用:

  • 处理定期Intent的处理程序
  • BroadcastReceiver收听所说的意图。当它醒来时,轮询服务器并存储任何新数据
  • ContentProvider为活动提供数据

请确保不要太频繁地触发周期性意图,否则你会耗尽电池。

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