1

現在、xamarin.formsアプリで作業しています(現時点ではAndroidのみ)。このアプリは、Bluetoothデバイスが接続されている(アプリが実行されていない)場合、いくつかのタスクを実行する必要があります。タスクは、センサーからいくつかのデータを収集し、sqliteデータベースを作成することです。私はbroadcastreceiversを使用してBluetoothのイベントをキャッチするために管理バックグラウンドでPCLメソッドを呼び出すXamarin.Forms

...

私の質問は、私が収集し、それらのデータ(GPS)を書き込む必要がありますどのように?

PCLのイベントで呼び出すことはできますか? またはいくつかのサービスが必要ですか?それとも.androidプロジェクトでその機能を作り出すべきですか?

イムxamarinとAndroidで初心者私は任意の助けに感謝して:)

おかげ

答えて

0

私の質問は、私が収集し、それらのデータ(GPS)を書き込む必要がありますどのように?私はちょうどPCLのいくつかのイベントを通じてそれらを呼び出すことができますか?あるいは、いくつかのサービスが必要ですか?それとも.androidプロジェクトでその機能を作り出すべきですか?

センサデータを取得するにはいくつかの方法がありますが、PCLではこれを行うことができます。

方法1:

あなたBroadcastReceiverbluetoothイベントをキャッチ、あなたはOnReceive方法でセンサーデータを得ることができます。

方法2:

あなたは、デバイスのセンサーデータを取得するためにDependencyServiceを使用し、それがsqliteデータベースを行う書くことができます。ドキュメントとしては、

Xamarin.Formsを使用すると、プラットフォーム固有のプロジェクトで動作を定義することができます。 DependencyServiceは適切なプラットフォーム実装を見つけ、共有コードがネイティブ機能にアクセスできるようにします。

DependencyServiceについては、このドキュメントを読んだり、answerを参照してください。

方法3:

あなたはこれらのセンサデータを取得するためにDeviceMotionPluginを使用することができます。このプラグインを使用する場合は、任意のプロジェクトからCrossDeviceMotion.Current、またはPCLを呼び出してAPIにアクセスできます。

更新:

あなたのPCLでこの機能を実装して行うことができます。 method 2またはmethod 3を使用すると、センサデータをPCLに取得して、これらをsqliteに格納することができます。 ネイティブAndroid APIを使用してネイティブAndroidでセンサーデータを取得しますが、これらのデータはPCLで使用できます。

+0

お返事ありがとうございます.GPS機能(geolocatorプラグイン)とsqlite関数を.androidプロジェクトに移動する必要があります。バックグラウンドでOnReceive()でこれらを呼び出すと、アプリケーションが実行されているときにDependencyServiceを使用して呼び出します。右 ? –

+0

@boris_dv、私は私の答えを更新しました。何か問題があれば、お気軽にお尋ねください。 –

+0

@boris_dv、あなたの問題を解決しましたか? –

関連する問題