Xamarin.forms Xamarin MVVM活动绑定

Xamarin.forms Xamarin MVVM活动绑定,xamarin.forms,xamarin.android,xamarin-binding,Xamarin.forms,Xamarin.android,Xamarin Binding,我试图自学Xamarin表单,但很难理解活动和共享代码如何与特定于应用程序的MVVM交互。。从我所能收集到的信息来看,模型部分可以从viewmodel和主活动中访问,而主活动又可以访问共享代码?感觉好像所有的参考文档都忽略了与活动和共享代码的关系 因此,如果我想制作一个可以扫描NFC标签并将信息转发给REST服务的应用程序,我需要创建一个共享代码对象API客户端,即特定于平台的NFC(mainactivity.cs?),然后绑定到一个模型以将数据放在UI上?MVVM的目标是在业务逻辑、UI和数据

我试图自学Xamarin表单,但很难理解活动和共享代码如何与特定于应用程序的MVVM交互。。从我所能收集到的信息来看,模型部分可以从viewmodel和主活动中访问,而主活动又可以访问共享代码?感觉好像所有的参考文档都忽略了与活动和共享代码的关系


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

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

因此,根据您的场景,您将创建您的android视图,很可能是在AXML中。您通常在Android活动中执行的任何逻辑都将在ViewModel和共享代码中执行

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

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

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


这意味着,当您引入iOS或其他平台时,您可以重用该模型和ViewModel,然后调用iOS项目中编写的NFC逻辑。

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

因此,根据您的场景,您将创建您的android视图,很可能是在AXML中。您通常在Android活动中执行的任何逻辑都将在ViewModel和共享代码中执行

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

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

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


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

啊,我明白了,所以我需要创建服务并将其绑定到基础模型中,然后从视图模型中对其进行初始化,反过来,它将被注入到应用程序中,而不是将应用程序看作是调用它实际使用的模型。是的,假设您有一个REST API来填充配置文件,您将创建一个“配置文件”模型。如果您正在执行POST,请填充概要文件模型,并通过REST发送。如果您是通过GET接收,则使用REST调用的响应填充配置文件模型。可以通过ViewModel填充或显示在视图中。希望这是有意义的。啊,我明白了,所以我需要创建服务并将它们绑定到一个基础模型中,然后从视图模型中初始化,然后将其注入到应用程序中,而不是将应用程序视为调用它实际使用的模型是的,假设您有一个填充概要文件的RESTAPI,您将创建一个“概要文件”模型。如果您正在执行POST,请填充概要文件模型,并通过REST发送。如果您是通过GET接收,则使用REST调用的响应填充配置文件模型。可以通过ViewModel填充或显示在视图中。希望这是有道理的。