首页 文章

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

提问于
浏览
0

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

1 回答

  • 0

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

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

    public interface IPedometer
    {
        int GetSteps();
    }
    

    这个界面在你的PCL中 .

    在每个本机平台上创建一个类(例如NativePedometer),实现此接口并本机编码以获得结果 .

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

    DependencyService.Register<NativePedometer>();
    

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

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

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

相关问题