プロトタイプが完成済みのFileMaker13で作ったハンディーターミナルアプリ。

でも、この秋発売が噂されてい5.5インチ大型液晶搭載の新型iPhone6が1台10万円するとネットニュースを読んで、改めて別の開発方法を模索中・・・・・

それに、FileMakerが超使いにくくて嫌いだし・・・

そこで勉強を始めたのがGUIだけでAndroidアプリが開発できるgoogle製プログラム教育用ソフト「App Inventor2」。

[App Inventor2]

裏で動かすデータベースは、これもgoogle製。
試験運用中の「Fusion Table」

[Fusion Table]

App Inventorのブロックを並べるプログラミングは、本を読んで一通り理解できたような・・・
そして、次は一番重要なデータベース「Fusion Table」との連携の勉強。

まずFusion Table管理画面から練習用テーブルを作成しダミーデータを手入力
App Inventor2とFusion Tableと中華タブレットでハンディーターミナルが作れるかな

App Inventor2のデザイン画面はこんな感じ
(一番下の2つのボタンは別のテスト用なんで無視してください)
App Inventor2とFusion Tableと中華タブレットでハンディーターミナルが作れるかな

プログラミングは、ブロックを並べていく積み木風!
基本動作は単純な2つの処理。
1:テキストボックスに雛形SQL文を書く(必要に応じて手修正する為)
2:テキストボックスの内容をFusion Tableに投げて処理させる
※テキストボックスの内容が正しいSQL文でなければエラーになります。
App Inventor2とFusion Tableと中華タブレットでハンディーターミナルが作れるかな

僕のNexsu7で動かすとこんな感じ

■まずSELECT文を実行

[雛形select]ボタンでSQL文を下のテキストボックスへ書く
そして[DB問合]ボタンでFusion TableサーバへSQL文を投げる。
最後は、Fusion Tableのレコードをリストに挿入する。
App Inventor2とFusion Tableと中華タブレットでハンディーターミナルが作れるかな

■次がメインのINSERT文の練習

[雛形INSERT]ボタンを押してテキストボックスにINSERT文を書く
[DB問合]ボタンでSQL分を投げると下のような返事「rowid 9999」が返って来ました。
App Inventor2とFusion Tableと中華タブレットでハンディーターミナルが作れるかな

Fusion Table管理画面で確認すると、確かに1行追加されている!
やったー、成功:-D
App Inventor2とFusion Tableと中華タブレットでハンディーターミナルが作れるかな

最後にもう一度select文を実行すると1行増えてる!(大成功:-D )
App Inventor2とFusion Tableと中華タブレットでハンディーターミナルが作れるかな

次の勉強は、実際に使う入力画面っぽいのを作ってみよう。
日付、JANコード、数量、コメント、スタッフCD、データベースの項目に対応させたテキストボックスを並べ、その値で動的にINSERT文を作れれば、新規入力画面はほぼ完成。

知れば知るほど「AppInventor」って凄い!
子供用プログラミング教材なのに、以外と多機能で複雑なアプリが作れそう、しかも無料で!

※参考にしたのが下のHOWTOビデオ
(2011年作なので「App Inventor」「Fusion Table」とも旧バージョンで画面デザインが違う為、ちょっと迷いました)

最後に、「FileMaker」より「App Inventor2」の方が断然優れていることに気付きました。

それは、情報量の多さ!
ほとんど英語ですが、App Inventor開発をgoogle検索すると恐ろしくたくさんの情報が見つかります。
MITのヘルプ・Tips・ボランティアサイト・YouTube・メルマガアーカイブ・ニュースグループ・掲示板などたくさん存在し、頑張って英語検索すれば何かしらの優良情報がGET出来ます 🙂

それとは対照的に、FileMakerは解説本の種類が少ないく、ネット検索で見つかる情報の8割はFileMaker社のオンラインヘルプ 😕
残りは、古いバージョンのことばかり書いてる1,2か所の掲示板。
後は、FileMaker開発屋の偏った情報ばかり。

周りに聞ける人が居ない独学開発ならAppInventorの方が断然有利です。
同時に英語の勉強も出来ます 😮

(174 views)

コメントを残す

メールアドレスが公開されることはありません。