2011年3月12日土曜日

App InventorでAndroidアプリを作ってみる

Androidアプリ開発に関連するものはとりあえず触っていこうとスタンスなので、今回はApp Inventorを触ってみる。App Inventorでのアプリ作成は、パズルピースを組み立てるようにアプリの動作をセットしていくらしい。
Creating an App Inventor app begins in your browser, where you design how the app will look. Then, like fitting together puzzle pieces, you set your app's behavior.
とりあえずGet Startedに従って進める。必要に応じて調べはするが、初めは遊び程度に適当に触ってみるだけなので、特に誰かのサンプルとかは今日は読まない!そう決めた。

まずはApp Inventorセットアップ

環境としては、ブラウザでjavaが動いてないとダメらしい。Java test pageでJavaは動作していますと、表示されれば入ってるのでOK。Firefoxではダメだったのでpluginの設定しておく。
# ln -s /usr/lib/jvm/java-6-sun/jre/lib/amd64/libnpjp2.so /usr/lib64/mozilla/plugins/
Firefox再起動して、testページ確認してJavaは動作してるのでOK。Chromeは特に設定してないけど、Java動いてた。Googleのだし、結局Chromeを使うことにしたのでFirefoxの方は使ってない。

で、appinventor-setupを入れる。これで準備は完了。あとはApp Inventorでログインして、acceptする。

project testを作成して、適当にHello worldをやってみる。
よし、これでいいや。で、emulatorで動かすにはどうすればいいんだ?右側にある「Package for Phone > Download to this Computer」でパッケージ落とせそうだな。えい、クリック。
怒られました^^;;Blocks Editorが開いてる必要があるらしい。ので、隣にあるOpen the Blocks Editorでオープンしてやる。
なんか立ち上がりました。「New emulator」ってのがあるので押してみたらemulatorが立ち上がった。
けど、Hello worldのアプリケーションはないな。よし、さっきのダウンロードできなかったヤツ、BlockEditor開いてるしできるでしょ。ってことでダウンロード。test.apkがダウンロードできたので、adbコマンドでインストールしてみる。
adb install -r ~/Downloads/test.apk 

testというアプリが入った!!起動してみるとHello world表示される。簡単簡単。

Blocks Editorってなんだったの?と思いちょっと見てみてる。ブラウザのApp Inventorで配置したLabelやButtonが選べるな。Ifとかもあるしイベントを処理できる感じだ。やってみよう。
App Inventorでボタンとテキストボックス用意。ボタン押したら、テキストボックスが出たり消えたり。みたいな。これまた、なんとなく何も読まずに直感的にブロックを組み立てる。
こんな感じかなー。New emulatorでエミュレータ立ち上がってるとBlocks EditorにあるConnect to Deviceでエミュレータに転送してくれるんだね。ダウンロードしてadb installってことはしなくて良かったのか。恥ずかしい^^;
ボタンを押してvisibleの場合はinvisibleに、invisibleの場合はvisibleにって期待した通り動く。

とりあえず触ってみた感じでは、使い方は特に調べなかったけど、直感的なので特に困ることもなく進められた。ただ、App Inventorのみでそれなりのアプリが作れるのかな?という疑問は残る。できること、できないことを調べてみよう。パッケージ化されたapkじゃなくてJavaのソースとしてダウンロードができるなら、UI・デザイン部分はApp Inventorで、処理はeclipse+Android SDKでっていう開発ができていいな。