日直地獄

小学校では事件が起きる

App Inventorを使ったらコードを一行も書かずにAndroidアプリができたよ

Google先生が提供しているGoogle App Inventorというサービスを利用して、アプリを作って無事マーケットに出すことができたのでそのレポートをまとめておく。

少し前にHatena Bookmarkで話題になっていたのが目に入ってきたので、Linuxレポート - 誰でも即席“Androidプログラマ”に、Googleが開発ツール「App Inventor」を一般公開:ITproあら面白そうですねとおもって使ってみた。

実際使って遊んでみたところ、直感的な操作で、過去にプログラムに触れたことのない(正確には大学の授業以来)私でも簡単にアプリをつくることができた。今回マーケットに出してみたアプリも基本的な部分はApp Inventorを触り始めて1日で出来た。面白いので少しでも興味ある人は触ってみるといいと思う。

今回作ったアプリの紹介

ZangyoParty! - Android Apps on Google Play
f:id:AirReader:20110308195848j:image:w200f:id:AirReader:20110308195850j:image:w200

  • 残業した後帰宅するボタンを押すと自動で残業時間を算出し、残業時間をtwitterにポストすることができます
    • また、その際コメントも合わせて投稿することができます
    • #ZangyoParty にポストされます
  • ポストした就業時間は累計就業時間として蓄積されていきます
  • #ZangyoParty のタイムラインが見れます
  • ヘルプを押すと労働基準法の第一章が読めます
  • デザインは当たってません

もしよろしければ使ってみていただけると幸いです。ただし、オフラインの生活とtwitterを紐付けている場合、同アプリを利用することにより、無用な軋轢を生む可能性がありますので、ご利用にはご注意ください。

App Inventorについて

直感的なしくみ

最低限Google先生側で用意されているチュートリアル3つをこなせば、App Inventorの基本的な構造と操作方法が理解できた。どういう動きをするか分からないパーツはたくさんあるものの、あとはまあ調べながらでいいかと思ってやったら問題なかった。
構造も極めて分かりやすい。スクリーンをコントロールするエディターと処理をコントロールするエディターに分かれていて、スクリーンにボタンやtextareaなどの要素をドラッグアンドドロップで配置すると、裏側でどのような処理が行われるかを決めるBlocksEditorにその要素で行えるBlockが表示されるようになる。そして、そのパーツを組み立てると色々な処理ができるようになる。

スクリーンにボタン要素をDDすると 裏側のBlocksEditorもその要素が追加されている
f:id:AirReader:20110308195844p:image:w300 f:id:AirReader:20110308195845p:image:w300
確認が容易

PCにandoroid機をつないでおくと、作っているアプリが表示され、ちゃんと動作する。ボタンの配置を変更したり、Blockを組み替えて処理を変更したりするとその場で変更が反映されるので、Blockの動きを理解するためにいじったり、動かしながら調整するのがすごく楽だった。

twitter連携が容易

チュートリアルをこなして動かすだけでもまあ楽しいのだけれど、我慢の効かない私としては、もっと刺激が欲しくなる。そんな私にとっては、そこにtwitter連携のパーツがあることが私にとって相当大きな要素になった。外への繋がりが用意されていると、これで何か面白いことが出来るかもという可能性ができるので、変なモノをつくろうというやる気がアップするので良いと思った。

作成中の雑感

  • 労働基準法全文を突っ込んだら、エラーメッセージも吐かずに落ちるようになった
    • 第一章のみにしたら落ちなくなった。むかついたけど、これは多分私が悪い
    • 労働基準監督署の相談窓口への電話リンクをつけようと思ったけどやめた
  • twitter連携みたいなパーツを誰かが勝手に作れてそれが配置でたらいいなあと思った。例えばハイクの連携とかあったらもっと面白いだろうなー
  • アプリ作るのは簡単だけど、マーケットに出すのが超手間
    • 作っただけではマーケットにはだせません
    • id:motemenさんの助力がなかったら絶対マーケットに出せなかった。ありがとうございました
    • これは自分のためにもまとめておく
  • ひとりプロジェクトなのに破綻して面白かった
  • 終盤半分寝ながら2重投稿を防止するBlockを組み立てていたら原因不明のバグが発生するようになった
    • 居眠りしながらやるの良くない

最終的な画面の記録

f:id:AirReader:20110308195847p:image
f:id:AirReader:20110308195846p:image
最終近くなったBlockの画像をひとでさんに見せたところ吐きそうですねと言われて全く同意した。

リクエストがあったので全貌図を張っておきます。オリジナルサイズでひらいていただき、加工して壁紙などにご利用いただければと思います。
f:id:AirReader:20110310191837p:image