gpt4 book ai didi

android - Xamarin.Forms 从设备特定代码获取数据返回到表单

转载 作者:行者123 更新时间:2023-11-30 02:42:24 25 4
gpt4 key购买 nike

我曾尝试从 Xamarin.Forms 代码中获取当前位置,但没有成功。我从他们的示例代码(在此处找到 http://github.com/aritchie/acr-xamarin-forms)中尝试了 Xamarin.Forms 的移动服务,但它非常复杂并且没有注释,因此不容易理解。 我可以在特定于设备的代码(在本例中为 Android)中获取它,但只能在 Activity 中获取,而且我不知道如何将其返回到表单中。由于 Xamarin.Forms 太新了,所以没有太多文档,只有可能的引用。

我看过这个:Write device platform specific code in Xamarin.Forms但我不认为这是我想要的,因为我需要能够调用它,而不是在启动时得到它(不过我在这里可能完全错了,我只使用 Xamarin 一个多星期和 Xamarin.Forms 2 天)

我正在撕扯我的头发,所以任何建议将不胜感激。

最佳答案

查看 Xamarin.Forms.Labs.Resolver 类,从 NuGet 添加 Labs 包。

要使用它,请在您的 Forms 项目 IMyService 中创建一个接口(interface),在 iOS/Android 项目中创建一个实现 IMyService 的类。

在您的 AppDelegate 中使用 Resolver 注册服务

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
var resolverContainer = new SimpleContainer ();
resolverContainer.Register<IMyService>(t=>new MyServiceImplementorClass());
Resolver.SetResolver (resolverContainer.GetResolver ());
}

然后在任何需要在 Forms 中使用服务的地方调用 Resolver.Resolve:

IMyService fileAccess = Resolver.Resolve<IMyService> (); 

关于android - Xamarin.Forms 从设备特定代码获取数据返回到表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25588557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com