1

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

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

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

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

提前致谢

4

2 回答 2

0

您应该有一个单独的 CommunicationManager 类来处理所有发送和接收 - 片段只显示您需要的信息 - 所有通信逻辑都在这一类中。然后,您的应用程序逻辑将不再有问题。

于 2012-05-17T16:26:06.573 回答
0

据我了解,您想使用一个网络连接(一般来说),接收响应并再次将其显示在两个不同的片段中。您可以遵循一些模式来做到这一点,但这里有一些解决您问题的建议。

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

正如@Zakaria 建议的那样,使用Android View 模型模式

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

就是这样,它会解决你的问题。

于 2020-08-09T07:02:25.280 回答