4

実際、私は追跡アプリを開発しており、2 つの Android フォン間で位置情報の更新を送信して、両方がマップ上で互いに追跡できるようにしたいと考えています。私のアプリケーションは、追跡を改善するために、他の Android デバイスからリアルタイムの更新を取得する必要があります。
いくつかのテクニックを検索しましたが、どれが最適かわかりません

ソケットの使用: 1 つのデバイスをサーバーとして、他のデバイスをクライアントとして作成する
考えられる制限:

  • サーバーの IP アドレスが変更された場合 (WIFI には静的 IP がないため)
  • サーバーのIPアドレスが非公開だとアクセスできない
  • クライアントのみがサーバーに接続でき、サーバーはクライアントに接続できません

中間サーバーを使用する:中間サーバーを作成し、そのサーバーを介して通信を行います。
考えられる制限:

  • 各 Android デバイスが最初にこれらの更新をサーバーに送信し、次にサーバーがこれらの更新を他の Android デバイスにプッシュするため、遅い

これを行うための最良の方法について、あなたの提案を教えてください。

4

2 に答える 2

2

サポートしたいデバイス API レベルを指定していないため、Android v4 (API レベル 14) デバイスのオプションを提供します。これはWi-Fi Directと呼ばれ、電話間の p2p 接続を可能にします。これは基本的にはソケット アプローチですが、近隣の発見が容易になり、両方向の転送が可能になります。

于 2012-04-20T06:35:05.003 に答える
1

まあwifiが出ています..少なくともあなたが述べた目的のためではありません。マップが非常に小さい場合を除きます。Wifiは、たとえば100メートルです(本当に良い日に)

Android については他の携帯電話ほど詳しくないので、苦労されていると思います。ピア ツー ピアで携帯電話に接続するのは本当に大変だと思います.一部のプロバイダーはそれを許可しません.

答え以上のアプローチがあります..
Androidフォンから、IPアドレスを取得できるかどうかを確認してください。
デスクから、その IP アドレスに ping を実行します。
それが機能する場合は、順調に進んでいます..
情報のサイズを考えると、pingをメインのデータキャリアとして使用できるとさえ言えます.
Ping には、ランダムなバイト以上のものを含めることができます。ping で送信するコンテンツに ID と GPS を含めることができます。
--- おそらくチェックサムを含める ---

開発が速くなるので、デスクから電話への作業のほとんどを行います..次に、電話がpingをキャッチできる場合..それなら、pingを送信するのは簡単なはずです.

于 2012-04-20T07:10:09.600 に答える