我正在尝试使用 MVVM 架构构建一个聊天应用程序,但我不知道在哪里放置我的套接字连接类,我需要一个想法或起点等。
单一数据源原则
我正在使用单一数据源的真实原则。举个例子:如果消息从套接字服务器发送到应用程序,我的套接字类应该将其保存到数据库,然后应该使用实时数据将其从数据库提供给观察者(因此它们将是视图模型)。
我的应用程序架构
我的应用程序包含不同的活动(聊天屏幕、对话屏幕等),这些活动将观察我的套接字连接存储库类。此外,如果用户关闭应用程序,我的套接字连接将随应用程序一起终止。我不需要任何后台连接。
我在问什么?
实现此功能的最佳方法是什么:
1) Socket 类应该使用实时数据,因为 activites 会观察到它。所以它应该是一个存储库。2)我的套接字类应该在应用程序打开时始终存在。
我应该为套接字存储库使用什么?服务或单例类或不同的东西?你有什么建议?我应该在哪里启动套接字连接存储库?来自应用程序类还是不同的东西?
在新的 Arch 组件库中查看 Android 的新 LiveData 和 Lifecycle 架构。
有了它,您可以从任何活动或片段观察 LiveData 对象。它从您的应用程序开始,收到有关任何生命周期更改的通知,并随您的应用程序终止。另外:配置更改时不会被破坏。
唯一的问题是必须启动 LiveData 对象。我可以在App类中完成。或者如果您的应用程序是单活动架构,则在活动中。
| 归档时间: |
|
| 查看次数: |
2954 次 |
| 最近记录: |