Your SlideShare is downloading. ×
イマドキの Slim3(GAE)+Android アプリ開発 株式会社エイチーム 技術開発部長 高橋 宏明 @hironey
 
 
Camelog is   位置情報付き 写真共有 サービス
Android Google App Engine + Slim3  位置情報と写真 URL および属性情報 アーキテクチャ
カメラで見る機能 <ul><li>現在地の周囲 1km 以内に投稿された写真を検索してカメラ上に AR 表示する機能 </li></ul>
緯度経度での検索 <ul><li>RDBMS で緯度、経度を用いた検索をするなら </li></ul><ul><li>WHERE lat BETWEEN 34.1 AND 34.2 </li></ul><ul><li>         AND ...
GeoHash
GeoHash <ul><li>緯度、経度をハッシュで表す仕組み。 </li></ul><ul><li>例えば、東京タワー   35.65861, 139.745447  は、 xn76ggrw26 </li></ul><ul><li>GeoH...
GeoHash の実装( App Engine 向け) <ul><li>Python </li></ul><ul><li>     geomodel :  http://code.google.com/p/geomodel/ </li></ul...
GeoHash の実装( App Engine 向け) <ul><li>javageomodel  は  JDO </li></ul>
GeoHash の実装( App Engine 向け) <ul><li>Slim3 が使ってるデータストアの低レベル API に比べると JDO は遅い </li></ul><ul><li>PersistenceManagerFactory の...
GeoHash の実装( App Engine 向け) <ul><li>Slim3 Datastore  を使うように拡張した  slim3-geomodel  を実装した </li></ul><ul><li>geohash 以外の検索条件も追...
Android - JSON - GAE <ul><li>Android と GAE とのインタフェースのために WebAPI を開発。 </li></ul><ul><li>レスポンスは JSON 。 </li></ul>
Android - JSON - GAE <ul><li>Java だと JSON データを生成、パースしたり HashMap から値を取り出したりするのが </li></ul><ul><li>メンドイ </li></ul>
Android - JSON - GAE <ul><li>GAE と Android で同じ Java クラスを利用するライブラリを作成することで、 JSONIC(*1) で一発でエンコード、デコードし、双方で同じ型の Java オブジェクトと...
以下のキーワードにピンと来た方は ぜひエイチームへ!  Android Google App Engine Slim3 iOS
Upcoming SlideShare
Loading in...5
×

LT20110226 Slim3+android

1,158

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,158
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "LT20110226 Slim3+android"

  1. 1. イマドキの Slim3(GAE)+Android アプリ開発 株式会社エイチーム 技術開発部長 高橋 宏明 @hironey
  2. 4. Camelog is   位置情報付き 写真共有 サービス
  3. 5. Android Google App Engine + Slim3 位置情報と写真 URL および属性情報 アーキテクチャ
  4. 6. カメラで見る機能 <ul><li>現在地の周囲 1km 以内に投稿された写真を検索してカメラ上に AR 表示する機能 </li></ul>
  5. 7. 緯度経度での検索 <ul><li>RDBMS で緯度、経度を用いた検索をするなら </li></ul><ul><li>WHERE lat BETWEEN 34.1 AND 34.2 </li></ul><ul><li>        AND lon BETWEEN 135.1 AND 135.2 </li></ul><ul><li>App Engine では、 </li></ul><ul><li>複数のプロパティに対して不等号で検索できない。 </li></ul>
  6. 8. GeoHash
  7. 9. GeoHash <ul><li>緯度、経度をハッシュで表す仕組み。 </li></ul><ul><li>例えば、東京タワー  35.65861, 139.745447 は、 xn76ggrw26 </li></ul><ul><li>GeoHash は桁数が精度を表していて </li></ul><ul><li>例えば、 8 文字で 19m*31m のグリッドになる。 </li></ul>面白いのが、桁数を減らすと、より広域のエリアを表すハッシュになる点 引用元: @masuidrive blog  http://blog.masuidrive.jp/index.php/2010/01/13/geohash/
  8. 10. GeoHash の実装( App Engine 向け) <ul><li>Python </li></ul><ul><li>    geomodel : http://code.google.com/p/geomodel/ </li></ul><ul><li>  </li></ul><ul><li>Java </li></ul><ul><li>    javageomodel : http://code.google.com/p/javageomodel/ </li></ul><ul><li>  </li></ul><ul><li>・緯度経度->ハッシュ変換 </li></ul><ul><li>・データストアからの検索 </li></ul>
  9. 11. GeoHash の実装( App Engine 向け) <ul><li>javageomodel は JDO </li></ul>
  10. 12. GeoHash の実装( App Engine 向け) <ul><li>Slim3 が使ってるデータストアの低レベル API に比べると JDO は遅い </li></ul><ul><li>PersistenceManagerFactory の初期化も時間がかかる </li></ul>
  11. 13. GeoHash の実装( App Engine 向け) <ul><li>Slim3 Datastore を使うように拡張した slim3-geomodel を実装した </li></ul><ul><li>geohash 以外の検索条件も追加 </li></ul>
  12. 14. Android - JSON - GAE <ul><li>Android と GAE とのインタフェースのために WebAPI を開発。 </li></ul><ul><li>レスポンスは JSON 。 </li></ul>
  13. 15. Android - JSON - GAE <ul><li>Java だと JSON データを生成、パースしたり HashMap から値を取り出したりするのが </li></ul><ul><li>メンドイ </li></ul>
  14. 16. Android - JSON - GAE <ul><li>GAE と Android で同じ Java クラスを利用するライブラリを作成することで、 JSONIC(*1) で一発でエンコード、デコードし、双方で同じ型の Java オブジェクトとして使えるようにした。 </li></ul><ul><li>*1   JSONIC は、 Java 用のシンプルかつ高機能な JSON エンコーダー / デコーダーライブラリです。  http://jsonic.sourceforge.jp/ </li></ul>
  15. 17. 以下のキーワードにピンと来た方は ぜひエイチームへ! Android Google App Engine Slim3 iOS

×