0

公共交通機関 (バスとトラム) の動きを追跡するアプリを開発しています。私はクライアント側とサーバー側の両方を行っています。クライアントはサーバー データベースからバスの位置を要求します。サーバー側は、たとえば 10 秒ごとに現在地をこのサーバー データベースに送信する単純なアプリです。

パフォーマンスやバッテリの寿命について考えないでください。それは問題ではありません。重要なアプリはクライアント側のものです。サーバー側は、すべての車両に実際の gps がインストールされている場合のシミュレーションにすぎません。そのため、サーバー側のバッテリ寿命については忘れてください。

ネットワーク プロバイダーを介して位置情報を取得するために Android に時間間隔の制限があることを読みましたが、この制限は 45 秒に設定されています。この制限を何らかの方法でスキップすることは可能ですか? このタスクを達成するために携帯電話の GPS を使用した方がよいでしょうか?

データベースに関しては、ID (自動インクリメント) を主キー、緯度、経度、およびタイムスタンプとして保存するだけです。

また、場所の変更をリッスンし、変更があった場合はデータベースに新しいエントリを追加することも考えました。クライアント側から位置を確認したい場合は、タイムスタンプが現在のもの以下の最後のエントリを探します。しかし、制限が 45 秒に設定されている場合、このアプローチも役に立ちません。

前もって感謝します。

4

1 に答える 1

1

Google Play Services に最近追加された位置情報サービス API の新しい「Fused Location Provider」を使用する必要があります。これを達成する方法については、ここで説明されています。新しいロケーション API の良いところは、GPS やネットワークを決める必要がないことです。API の内部構造により、最も正確な位置情報を提供するために使用する必要があるプロバイダーが決まります。また、位置情報更新の制限については聞いたことがありません。1 秒あたり 1 回の更新という速さでそれらを取得できると確信していますが、それについては引用しないでください。

于 2013-06-05T19:56:50.937 に答える