Android Hackathonに参加してきました

Hackathon詳細はこちら。

初めてのGoogle Androidプログラミング」は事前に買ってたけど、ページを開くのは今日が初。Javaも5-6年ぶり。今日はこの本のサンプルでもぼちぼち試そうかなぁと思ってチュートリアルグループに参加。

したら「事前ミーティングでチュートリアルグループのテーマはAndroidをこたつにする*1ことに決まりました」とか。話を聞いてとても動揺。たぶんそれ聞いた瞬間の自分はこんな顔してたと思う。それどう考えてもチュートリアルの域を超えてるから。

参加日を急遽木曜から金曜に振り替えてもらったので金曜の方の事前ミーティングは出てなかったとはいえ、木曜チームは「画像表示したり加速度センサ使ったりしたい」みたいなホントにチュートリアルな話しか出なかったのに。金曜チーム・・・予想の斜め上過ぎる・・・。

ということで残念かつ申し訳ないけど私(ともう一人)は個別に、より初歩的なことをさせてもらうことに。熱暴走とか爆発とか私のスキルじゃ無理なんで。

それでは以下、実際ちょこっと触ってみて感じたこと。HelloWorldに毛が生えたようなものしか作ってないので、突っ込んだとこはわからない。

  • iPhoneと比べるとユーザーアプリでもやりたい放題
    • アドレス帳データ見るとか
    • 電話発信するとか
    • 他アプリ起動とか
    • バックグランド実行とか
  • iPhoneと違ってメモリ管理をVMに任せられるのは気分的にとても楽
  • XMLが多い。しかも直接弄る機会も結構多くてちょっとうざい
  • 端末にshellで繋いでごにょごにょできるのは面白い
  • NDAとかで縛られてないので情報を探すのが楽

なんとなくそんな感じ。総じてiPhoneと比べれば断然開発者に優しいと思う。

・・・

で、そんな感想を抱きつつ自分が作ったのは以下。

トランプのカードが一枚ずつ順に画面いっぱいに表示される。画面をタッチしてるあいだはカードが切り替わらなくなる。以上・・・なんだけど、それだけだと流石につまらないのでおまけに手品。

画面を私から見えないように相手に向けて、適当なタイミングで画面をタッチしてカードを止める。で、そのとき表示されてるカードを当てる。デモの一番最初は会場のオーラがよどんでいたせいで失敗したけど、二度目以降は私のスピリチュアルなバイブスがAndroidと共振して大当たりを繰り返した。

第六感が身に付くアプリ!すごい!!

デモ&タネ明かし

ホントはタッチだけじゃなくて傾きも拾って、上向けたらカードが切り替わらなくて下向けたらカードが切り替わる、とかやりたかったんだけど、加速度センサに登録したリスナの解除がうまくいかなくて諦めた。アプリ終了後もAndroidからバイブスが放出され続けてたら困るよね。

でも考えてみればその方が当初のチュートリアルグループのテーマ、「Androidを暴走させる」に合ってたから、そのままにしといても良かったのかもしれない。*2

・・・

Hackathonの最後にはその日作成したものの発表があるので、他のチームの人が作ったものも見れるんだけど、みんな一日ですごいもん作ってる。

一通り発表が終わった後に参加者によるベストアプリへの投票もあって、私は「騙しなしでちゃんと動いてる」っていう個人的絶対条件の元にSNSアプリを選んでみた。OpenSocialで友達の最新のActivityを取ってきてAndroidの画面にポップアップしてくれるアプリ、かな。まぁよく分かってないですが。

投票の結果最優秀に選ばれたのは加速度センサを利用して、振る方向に応じて起動するアプリを登録できるランチャーアプリ。確かにこれすごいっす。サービスとして待ち受けて、加速度センサの値を拾って、他アプリを起動、っていうiPhoneにはできないAndroidらしい機能を使ってて、最優秀も納得。*3

それ以外にもNiKonのUPのブラウザとAndroid上に立ち上げたWebサーバーを繋いで、Androidの位置情報+コンパスをUPで利用するスカウターアプリ(未完)とか面白いネタたくさん。ガジェットを使うとこういうちょっとネットからはみ出してる感じのアプリが作れるのが楽しいっすね。

今回でAndroidで何ができるのかとか、どうやればいいのかとか、なんとなくイメージも掴めたし、またAndroid Hackathonがあるなら次はもうちょっと練ったネタに挑戦したい。

*1:熱暴走させるという意味らしい

*2:手品としても指を当てるのよりタネが分かりづらくなるし・・・

*3:最後のアプリ起動の部分が時間足りなくてちょっと誤摩化したみたいだったので私は投票しなかったけど