代码之家  ›  专栏  ›  技术社区  ›  Henrik

在具有线程的本地服务和活动之间同步

  •  4
  • Henrik  · 技术社区  · 14 年前

    当地的服务机构,

    • 具有套接字连接的线程,可以随时接收数据。
    • 包含数据的列表/数组。
    • 套接字可以随时接收数据并将其添加到列表中。

    活动需要显示此数据。因此,当活动启动时,它需要附加或启动本地服务并获取列表。如果更新了列表,还需要通知它。

    我想我需要以某种方式同步我的列表,这样本地服务在连接到服务时,当活动获取列表时不会向其中添加新条目。

    谢谢。

    2 回复  |  直到 14 年前
        1
  •  5
  •   Community Jaime Torres    7 年前

    here . 在这个答案是一个链接到一个由马克·布雷迪在柏林举行的droidconf演示。在他的 slides 他描述了一个管理这类事情的框架。他还提供了这方面的来源 github

    android文档还提供了 example 关于如何启动本地进程。

        2
  •  3
  •   Damian Kołakowski    14 年前

    有许多方法可以在活动和服务之间建立连接并在它们之间共享数据。您可以使用以下解决方案进行通信:

    • sendBroadcast (Intent intent) 接收 BroadcastReceiver
    • 内容提供者。服务和活动从中并行读写。您可以将observator附加到特定的数据url,这样每个侦听器都会被告知更改。如果你使用 CursorAdapter
    • AIDL . 这是安卓的IPC。您可以为服务定义接口,该接口将公开给客户端。客户端在开始时:与服务建立连接,请求数据,注册回调。如果服务有新数据,它将调用客户端注册的回调。