Android NightVol.11で
AppInventorを使って、LT内でアプリを作ったよ、
キャッチコピーは
NoProblem NoProgram
子供をあやすために、端末を振ったら音が鳴るガラガラアプリを
プログラムを使わずにものの数分で作成しちゃいます。
準備するのは3つ
Googleアカウント
AndroidPhone(今回は加速度センサーを使うのでエミュレータ不可)
USBケーブルまたはQRコードリーダアプリ
AppInventorのダウンロード
AppInventorは
App Inventor SetupでMac/Linux/Windows版をダウンロードできる。
インストールしたら
AppInventorにアクセスする。
新しいプロジェクトを作るために「New」をクリックして
プロジェクト名を「Garagara」にする
この画面では画面をレイアウトしたり、必要なオブジェクトを追加したりしていく
端末を揺れたのを検知するために加速度センサーを追加する
「Sensors」から「AccelerometerSensor」を画面にドラッグ
画面が揺れたら音を鳴らしたいので、音を追加する。
「Media」から「Sound」を画面にドラッグ
Soundに音声ファイルを設定するために、
右側のComponentsより先ほど追加したPlayer1をクリックし
PlayerのSource「None...」となっている部分をクリックし、Addをクリック
Upload Fileダイアログが表示されたらファイルを指定してOKをクリック
処理はBlocksEditorで作っていく、
画面右上のOpen the Blocks Editorをクリックする。
jnlpがダウンロードされ、Open the Blocks Editorがダウンロードされる
自動で立ち上がらない場合はダウンロードしたjnlpを開く
(実行時に承諾が必要だったりする)
Android携帯をサードメーカーアプリ実行可能、USBデバッグをオンにする。
USBで繋いでUse a phoneを選択する。
加速度センサーをトリガーとするので
左からMy Blocksタブを選びAccelerometerSensor1をクリックし
AccelerometerSensor1.Shakingをドラックする
音楽をならすためにPlayer1をクリックし
Player1.Startを先ほど追加したAccelerometerSensor1.Shakingの
へこみに収まるようにドラックする
これで、開発完了
あとはブラウザに戻って
Package for PhoneをクリックしてDownload to Connected Phoneを選ぶだけ
しばらく待つと自動的にアプリがAndroidに転送されて携帯を振ると音が鳴る
LTしながらでも開発に掛かった時間は3分
そのうち2分はAppInventorの起動やAPKの転送だったので正味の開発は1分って感じ、
感想
開発の速度が速いこと以上に子供やライトユーザーといった今まで開発に手を出せなかった人も簡単なアプリを自分で作ることが出来る事に魅力を感じる。
それはAndroid側も意識しているようで例えばAppInventorの宣伝は明らかにプログラマーっぽくない人が使ってる。
LEGOのマインドストームを操作できたり、シェイク認識が一発のブロックで出来たり、使いやすいところを上手くチョイスしているなとも思う。
反面課題点もあって、一番は日本語に対応していないこと。
これはBeta版だからだろうし、Googleの実績を考えるとおそらく今頃ゴリゴリ日本語化しているんだろうけれど、
ここが日本語にならないと肝心の子供に勧めにくい。
もう一つが発展性の無さで、AppInventorで作ったプログラムをJavaに出力できないので、
AppInventorでベースを作ってEclipseで詰めていくような作業が出来ない。
あと、これはAppInventorの問題ではないんだけれど、AppInentorとEclipseの間が大きすぎると思う。
AppInventorでなれた人がステップアップしやすいようにEclipse側も頑張って貰いたい。
例えばボタンを押した場合の処理を書くとき、
Android/Eclipseはxmlからボタンを取得してそれにクリックした場合の処理を匿名クラスで作っていく
それに対してVisualStudioは画面上のボタンをダブルクリックするだけ
意外とこういうのって開発のモチベーションに繋がるのでAndroidも頑張って欲しいなって思う。
AppInventorで世界一簡単にAndroidアプリを作る
2010/12/22 20412hit
関連日記
Android Studio 4.0 Canary 1の概要を訳してみた。
Gradle SyncでgetPackageApplication()の警告を解決した
Kotlinでif let elseをやりたいときはletでなくalsoを使おう
Android Wear2.0 Watch face Complicationsを作る 多データ型対応編
Android Wear2.0 Watch face Complicationsを作るDataSync編