CodeZine(コードジン)

特集ページ一覧

gaedirectを利用したAndroidからの緊急連絡とサーバプッシュ表示の実装

gaedirectを使用した応用例

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2011/09/16 14:00

目次

2. 画面操作と表示

 それでは実際の動作イメージを、画面操作と表示内容から見ていきます。

画面1 スマートフォンからスマートフォンへサーバプッシュ

 GAE上で実際に動作させているサンプルを次のURLで確認できます。

 図2と図3は、スマートフォンからスマートフォンへのサーバプッシュ連絡を想定しています。左側の画面が送信者(遭難者)のスマートフォンですが、図のように姓名とスマートフォンの電話番号を入力して「データ送信」ボタンをクリックすると、図3のように、受信者(親族・知人)のスマートフォンに、入力情報とHTML5のGeolocationによる遭難者位置情報が付加されて表示されます。なお、サンプルではスマートフォンとしてAndroidを想定していますが、iPhoneなどGeolocationをサポートしているスマートフォンであれば問題なく動作するはずです。

図2 スマートフォン(左)からデータ入力
図2 スマートフォン(左)からデータ入力
図3 スマートフォン(左)で「データ送信」ボタンクリック
図3 スマートフォン(左)で「データ送信」ボタンクリック

画面2 AndroidからPCへサーバプッシュ

 GAE上で実際に動作させているサンプルを次のURLで確認できます。

 図4~図6は、スマートフォンからPCへのサーバプッシュ連絡を想定しています。図5のようにPC画面の場合はGoogle Mapsの地図上にGeolocationで取得された緯度、経度がマーカー表示されます。

図4図4 スマートフォン(左)からデータ入力
図4 スマートフォン(左)からデータ入力
図5 スマートフォン(左)で「データ送信」ボタンクリック
図5 スマートフォン(左)で「データ送信」ボタンクリック
図6 マーカのマウスオーバで入力データ表示
図6 マーカのマウスオーバで入力データ表示

Bigtableへの登録

 スマートフォンからクラウドへ送信された位置情報を含むデータはJavaScriptでの送信パラメータで、GAEのデータストア(Bigtable)への登録を行うか否かの指定を行うことができます。このサンプルでは登録実行を指定してあり、登録内容は図6のようになります。連載第1回でも触れたように、登録エンティティのフォーマットは、クラウドサーバ側でJavaやPythonのコード記述で行った場合とまったく同様で、クラウドサーバ側コード記述による機能拡張も容易です。

図7 スマートフォン送信データのBigtable登録内容
図7 スマートフォン送信データのBigtable登録内容

 ここまでご紹介してきた操作・表示内容は、筆者のスマートフォン実機を使用して動作を確認しています。筆者の場合NTTドコモのAndroidを使用していますが、iPhoneでも動作は問題ないはずです。

 ただし、Geolocationで取得される位置情報は正確でない場合があり、特に有線LAN環境と無線LAN環境では精度が大きく違うようで、例えば緯度経度の値で比較した場合、有線LANでは小数点以下第3桁までの制度なのに対して、無線LAN環境では小数点以下第7ケタまでの詳細なデータを取得できるという情報もあります。なお、この点に関する詳細については、関連書籍やサイト情報などを参照してください。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:サーバ側コーディング不要のGoogle App Engine開発ツール「gaedirect」

著者プロフィール

  • 清野 克行(セイノ カツユキ)

    慶應義塾大学工学部電子物理専攻卒。日本IBM、日本HPで、製造装置業を中心とした業務系/基幹業務系システムのSE/マーケティングや、分散アプリケーションによる社内業務システム開発などに携わる。現在は、クラウドやAjax関連の/ソフト開発/書籍執筆/セミナー講師/コンサルティング、などを行っている。情...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5