Xamarin MVVM 活动绑定

Xamarin MVVM activities binding

我正在尝试自学 Xamarin 表单,但我很难理解活动和共享代码如何与特定于应用程序的 MVVM 交互。据我所知,模型部分可以从viewmodel 并说 main activity,然后 main activity 可以访问共享代码吗?感觉所有的参考文档都遗漏了与活动和共享代码的关系?

因此,如果我想制作一个可以扫描 NFC 标签并将该信息中继到 REST 服务的应用程序,我需要创建一个共享代码对象 API 客户端、平台特定的 NFC(mainactivity.cs?) 然后绑定到模型以将数据放到 UI?

MVVM 的目标是完全隔离业务逻辑、UI 和数据模型。

因此,根据您的情况,您将创建 android 视图,很可能是在 AXML 中。您通常在 Android activity 中执行的任何逻辑都将在 ViewModel 中以共享代码完成。

然后您将在共享代码中创建 REST API 客户端连接,例如可能在服务文件夹下。因为这是不需要特定于平台的功能。所有平台都可以按原样使用它。

然后您可以从 ViewModel 调用 REST API 并填充您的模型,这将从视图中调用 - 即。 activity 将引用 ViewModel 和 ViewModel 包含的任何模型。

当涉及到您的 NFC 场景时,您将在 ViewModel 中编写 NFC 方法,然后您将使用类似 Dependency Service 的东西来确定平台,然后它将 运行 NFC 逻辑,写在每个平台项目中。

这意味着当你引入iOS或其他平台时,你可以重新使用那个Model和ViewModel,然后调用iOS项目中编写的NFC逻辑。