4

我正在考虑在其中一个项目中使用 mvvmcross。现在我只是在探索 mvvmcross 并浏览不同的文章,但我找不到与 mvvmcross 和 android 服务相关的任何内容。如何在视图模型中启动、停止或绑定到服务。处理服务时的“最佳”方法是什么?有没有人有这个主题的链接或任何东西。

乌鲁斯

4

1 回答 1

4

一般来说,我将 Android 服务、ios 长时间运行的任务和 Windows 后台任务视为单独的“服务”,它们通常不直接与 ViewModel 交互,而是通过消息传递、数据存储等进行交互。特别是对于 Android,您可以需要使用 View/Activity 级别的钩子,例如服务本地绑定(参见Android - 服务和活动交互

当后台服务与 ViewModel 共享相同的进程(相同的内存空间)时,可能看起来有点尴尬的一件事是初始化共享 IoC 和任何所需的应用程序单例。但是,通常这似乎并不难做到 - 例如,请参阅内容提供者和活动中的 Using MvvmCrossMvvmCross 初始化等问题

我个人还没有看到足够多的此类应用程序示例来确定是否可以在 mvvm 平台级别提供一些常见的架构模式。我希望看到更多的例子和更多的人谈论这个领域的建筑理念。

于 2013-07-14T16:41:04.507 回答