1

我正在尝试自学 Xamarin 表单,但我很难理解活动和共享代码如何与应用程序特定的 MVVM 交互。从我可以收集到的内容中,模型部分可以从视图模型和主视图中访问活动,反过来主要活动可以访问共享代码?感觉所有的参考文档都遗漏了与活动和共享代码的关系?

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

4

1 回答 1

0

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

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

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

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

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

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

于 2019-03-11T11:05:49.633 回答