Android

Android センサー 【講座体験レポート 第10回】

Posted 8月 2 2012 by NABE  , , with 0 コメント

Android センサー 【講座体験レポート 第10回】

こんにちは、Kです。

先日、弊社の1階に「ごっつ」というラーメン屋さんが出来ました。
さっそく弊社の社員が夕方いってきたそうです。(私はこの時期ラーメンが食べられません…笑)
感想を伺ったところ「うまいけど、むちゃくちゃ味が濃いw」とのことでしたが、Android講座の須藤講師は余裕で生還しました!
しかしながら別の講師は「胃がやばいwこの歳にはきついw」といって笑っていました。笑

お客さんがたくさん入っている様子を見ると気になりますね。
私は冬になったら「昼間」いってみようと思います。

ところでラーメン屋さんにAndroid導入なんてことを考えてみました。
該当するラーメン屋さんでオーダーするにはアプリのダウンロードが必要で、オーダーはそのアプリから行います。
もちろん悪戯防止として、店内のみで使用できるように制限をかけたり、アプリ内に個人情報の入力をお願いしたり・・・、
などなど課題は山積みになりそうですが。笑
後は「メニューの改訂に対する対応」でしょう。新メニューを出したときにどのようにアプリ内に反映させるのか?
その都度作成元が修正をかけるか、店員さんでも変更できるようにあらかじめ作成しておくのか、などもありますね。

仕事でやるとなると具体的な費用等まで考えなければなりません。
中々難しいとは思いますが、暇が出来たらアプリ開発の練習で作成してみます…

今回はAndroid Basic第10回の講座です。

講座内容はセンサーとロケーションです。
ここ最近は概要説明がメインになってしまっているので、今回は演習中心で説明していきます。

今回学んだ内容

演習(センサー)

センサーはいろいろな物理的な動作を検知するもので、たくさんのセンサーがあり覚えるのが大変でそうです…
今回は細かいセンサーの内容は示さずに演習で作成したアプリをご紹介しつつ、該当するセンサーをご紹介します!

このアプリはAndroid端末に搭載されているセンサーが取得しているデータを表示させるアプリです。

Accelerometerは加速度センサーで、x、y、zの(3次元の各方向)の値を取得しています。
Gyroscopeは物体の角度や角速度を検出するセンサーですが、作成したアプリには表示されていません。
したがって搭載されていないことがわかります。
Magnetic Fieldは磁力センサーで、加速度センサーと同様x、y、zの3方向を検知します。
Temperatureは名前の通り、温度センサーです。Proximityは画面から対象物への距離で、cmで表示されています。
ところで左側の画面の状態から、私が手で端末を覆ったおころ右側のようになりました。
お気づきかと思いますが、Proximityの距離(cm)が83cmになっていますね。笑

これが端末依存(端末によって動作が異なる)ということでしょうか。

演習(ロケーション)

次にロケーション(位置情報)の演習です。
ロケーションやマップ(地図)ベースのアプリやサービスは非常に便利であり、自作のアプリにこれの機能を追加することも容易です。
今回は現在地の位置情報を表示するアプリを作成しました。

アプリ作成後に実行してみましたが、室内であったため実機ではGPSがうまく入らず位置情報を得ることができません…
そこで仮想環境であるエミュレータにて試してみました。
これは左のようにエクリプス上で位置情報を送信し、それをアプリ側のセンサーが検知するという流れです。
図のようにしっかりと測定できていますね。(ちなみにオフィスの外に出たら測定できました。)

このロケーションは少しでも最適な(正確な)位置情報をユーザーに提供すべく、かなりの頻度で更新されます。
実機の方では「ぱっ、ぱっ、ぱっ」と表示されていくので最初は驚きました。笑(右図)

この更新は次の流れで行われます。
1.アプリの開始
2.目的とするロケーションプロバイダからのリスニング開始
3.新しいデータのうち、不正確な情報は破棄
4.新しいデータのうち、正確な情報を「現時点での最適な測定結果」を保持し続ける
5.リスニングの停止
6.最後の測定結果をアプリに反映

このように書くとそんなに難しくないように見えますが、実際は難しいです。
というのも情報はWi-Fi経由や3G経由で調べる上に、そのタイミング等は開発者が決めなければならないようです…
まだ私の方でもしっかりと把握できていません。難しいです…

いよいよ本講座もだんだん終わりに近づいてきました。
これまでの講座を振り返ってみると、基礎知識は随分増えたかと思います。(まだまだ復習は足りていませんが)
演習が始まる前に復習しないと…
時間が欲しいです。笑

ではまた次回もよろしくお願いします!

JAVA Android初心者パックコース


Android 講座



  未経験OKの仕事 |  上場企業の仕事 |  高待遇の仕事 |  外資系の仕事 |  社内SEで検索 |  自社サービスで検索





メールアドレス
ご質問・問い合わせ等、ご自由にお書きください。