使用Xamarin Forms实现航位推算应用程序

时间:2016-10-03 00:55:10

标签: xamarin xamarin.ios xamarin.android xamarin.forms cross-platform

我需要使用xamarin实现航位推算应用程序。为了做到这一点,我需要从Android / ios和Windows手机访问计步器/加速度计。由于他们有自己的API被调用,我相信这种方法是在PCL项目中创建一个接口,然后为每个平台提供本机实现。然后可以使用组件使这些可见。除此之外,是否有任何方法可以在PCL项目本身中实现整个代码?没有每个平台的本机实现?

1 个答案:

答案 0 :(得分:0)

您的应用程序的逻辑可以在PCL中完成,但调用计步器或加速计必须本地完成。

基本方法是(只是一个例子)

public interface IPedometer
{
    int GetSteps();
}

此界面在您的PCL中。

在每个本机平台上创建一个类(例如NativePedometer),实现此接口并使用本机代码来获取结果。

在每个本机平台上使用依赖注入,例如

DependencyService.Register<NativePedometer>();

然后在PCL中使用以下内容。

DependencyService.Get<IPedometer>()并在您的PCL中执行业务逻辑。这允许您跨平台重用尽可能多的代码。

这是最好的方法,但你无法避免编写本机代码,而本地代码我指的是传统/原生Xamarin项目中的C#。