0

xamarinを使用して推測航法アプリケーションを実装する必要があります。これを行うには、Android/iosとWindows phoneから歩数計/加速度計にアクセスする必要があります。彼らは呼び出される独自のAPIを持っているので、私はアプローチがPCLプロジェクトのインターフェイスを作成し、各プラットフォームのためのネイティブな実装をすることであると考えています。これらは、アセンブリを使用して表示することができます。それとは別に、コード全体をPCLプロジェクト自体で実装できるアプローチはありますか?各プラットフォームに固有の実装を持たないでください。Xamarinフォームを使用した推測航法アプリケーションの実装

答えて

0

アプリのロジックはPCLで行うことができますが、歩数計や加速度計の呼び出しはネイティブで行う必要があります。

基本的なアプローチは、

public interface IPedometer 
{ 
    int GetSteps(); 
} 

(単なる例)であり、このインタフェースは、あなたのPCLです。

各ネイティブプラットフォームでクラス(NativePedometerなど)を作成し、このインターフェイスを実装し、ネイティブコードを使用して結果を取得します。

各ネイティブプラットフォームに依存性注入を使用します。

DependencyService.Register<NativePedometer>(); 

次に、PCLで以下を使用してください。

DependencyService.Get<IPedometer>()あなたのPCLでビジネスロジックを実行してください。これにより、プラットフォーム間でできるだけ多くのコードを再利用することができます。

これは最善のアプローチですが、ネイティブコードの記述やネイティブコードの使用は避けられません。これは、従来の/ネイティブのXamarinプロジェクトではC#を意味します。

+0

James Montemagnoにはステップカウンタがあります。ネイティブ実装のためのグーグルでの例のヒープ。 https://github.com/jamesmontemagno/My-StepCounter –

関連する問題