3

だから私はアンドロイド用のフィットネスアプリケーションを書いています。Google fit API を使用して歩数をカウントしています。アプリがバックグラウンドにあるときに、Recording API を使用して歩数をカウントしています。アプリがフォアグラウンドになったら、History API で歩数を取得して画面に表示します。何が起こるかというと、カウントが正しくありません。正確で更新されたカウントを取得するまで、遅延があります。具体的に言うと、データが失われることはありません。Recording API は特定の時間間隔で更新されていると思います。

また、Sensors API を使用して、実行中のアクティビティの実際のカウントを表示しています。たとえば、画面に 300 ステップ (リアルタイム データ) が表示されます。アプリを閉じて、もう一度開くと、次の 1 分間、たとえば 250 歩が表示されます。そして、しばらくして History API が正しいデータをキャッチし、再び 300 を表示します。

誰かがこの問題を解決する方法を見つけましたか?

ありがとうございます、長文すみません!

4

1 に答える 1

2

あなたは正しいです。Recording API の更新には時間がかかります。思いついた方法は2つあります。

  1. History API で常に歩数を取得します。つまり、アクティビティが実行されているときは、History API のチェック レートを増やすだけです。これの利点は、時間がかかりますが、ユーザーは常に同じ数になることです。
  2. 別の方法はもう少し複雑です。センサーの歩数を時間とともに保存し、これを追加してユーザーに表示する必要があるかどうかにかかわらず、いくつかのロジックを適用します。

長文すみません。

于 2016-01-18T09:14:49.667 に答える