两个片段之间共享一个连接

时间:2012-05-17 16:03:19

标签: java android networking fragment

我开始编写我的第一个成熟的Android应用程序而且卡住了......

我想轻松实现平板电脑视图,我使用了android兼容性库v4和片段API。在我创建网络连接并在两个片段之间共享它之前,一切都很酷。你知道,我有两种观点......

假设我们有简单的聊天应用程序,我们需要有用户列表和消息列表。我需要根据从网络收到的消息来实现这两个片段。因此,如果有人正在进入聊天,我需要更新用户列表片段,如果有人发送新消息,我需要将其发送到消息片段

有人能告诉我怎么做吗? 任何想法如何通过一个连接更新两个片段。

提前致谢

2 个答案:

答案 0 :(得分:0)

你应该有一个单独的CommunicationManager类来处理所有的发送和放大。接收 - 片段只显示您需要的信息 - 所有通信逻辑都在这一类中。那么你的app逻辑就不再有问题了。

答案 1 :(得分:0)

据我了解,您想使用一个网络连接(通常来说),接收响应,然后将其显示为两个不同的片段。 您可以遵循一些模式来执行此操作,但是这里有一些解决问题的建议。

  • 尝试使用将要使用的标准Android模式:
    1. 网络的课程。 (将其保留在后台或executorthread中)
    2. 存储库的摘要。 (它将用于从Networking类中获取数据)。在Repository.class中实例化Networking.class时,请使用 Singleton模式,以便在整个应用程序中仅使用Networking.class的一个实例,这使您可以使用一个Networking.class来获取所有实例。所需的数据,而无需再次实例化Networking.class。

按照@Zakaria的建议,使用Android View模型模式

  1. 一个 ViewModel 类足以在其中使用Repository.class来从Networking类接收数据并共享片段中的数据(观察数据)并向用户显示所需的数据。

就是这样,它将为您解决问题。