プログラミング未経験でも手軽にAndroidアプリが作れるApp Inventor。本連載では、App Inventorでアプリを作り、使用しているコンポーネントに関して実際にJavaのAPIと比較して、できることを検証していきます。
前回の記事「誰でもAndroid開発できるApp Inventorの基礎知識」では、「App Inventor for Android」(以下、App Inventor)についての概要を説明し、ツールをセットアップしてシンプルなAndroidアプリを作って実機で動作させるまでの流れを解説しました。
App Inventorで使える部品は大きく分けて2種類あります。1つはデザイナで使える画面部品です。もう1つは、ブロックエディタで使える部品です。
デザイナの画面部品はボタンやラベルに代表されるAndroid標準の画面部品を扱えます。また、デザイナの画面部品にはタイマーやセンサのような非表示の部品も画面部品として存在します。さらに、非表示の部品の中にはApp Inventor独自に作り込まれた部品も存在します。
ブロックエディタでは、イベントに直接関連するブロックだけでなく、変数や関数、制御構文を扱えます。それにより、一般的なプログラミング言語のようにロジックを組み立てられます。
今回は、これら2種類の部品の基本を理解して、この後の連載で、App Inventorで可能な、さまざまなことを理解するための基礎知識を身に付けてもらいたいと思います。
前回記事の中で、App Inventorのできないこととして「日本語が使えない」とお伝えしました。記事公開後にApp Inventorがアップデートされ、デザイナで日本語が扱えるようになっていますので、ご注意ください。
まず、デザイナで扱う画面部品の一覧を見ましょう。App Inventorで使用できる画面部品は以下のように分類されています。
種類 | 説明 |
---|---|
Basic | 基本的な部品(ボタンやテキストボックスなど) |
Media | 画像や音声、動画を扱う部品 |
Animation | ボールや画像を動かす部品 |
Social | 電話帳やTwitterを使用する部品 |
Sensors | 加速度センサやGPSを使用する部品 |
Screen Arrangement | 画面部品を配置する部品 |
LEGO MINDSTORMS | 同名のレゴのおもちゃのロボットを制御する部品 |
Other stuff | その他の部品(通知、バーコードスキャナなど) |
Not ready for prime time | 実験中の部品 |
これらの分類の中にある部品を知ることが表現の幅を広げることにつながります。
今回は、部品の中から「ボタン」を例にしてJavaのAPIと比較して解説します。
デザイナ側で、ボタンに設定値を設定するには、[Properties]で行います。App Inventorのボタンのプロパティは、以下にある通りです。なお設定値は、この後に説明するブロックエディタでも変更可能です。
13個の設定値があることが分かります。
JavaのAPIでは、何個の設定値が用意されているのでしょうか。AndroidのボタンについてはAPIドキュメントを参照します。デベロッパサイトを開き、リファレンスをクリックすると、JavaのAPIドキュメントを参照できます。JavaのAPIがどうなっているか、興味がある方は参照してください。
設定値を比較するために、ボタンのAPIのセッターメソッドを見てみましょう。リファレンスから「android.widget.Button」を探します。これがJavaのAPIでのボタンになります。その中のセッターメソッドの数が設定値の数と考えます。イベント系のリスナのセッターとメソッド名が重複しているセッターメソッドを除くと、109個あります。
このように、JavaのAPIで用意されている設定値に比べ、App Inventorの設定値は大幅に少ないです。しかし、JavaのAPIの画面部品のセッターメソッドは実装したインターフェイスが持っている数だけ存在するため、画面部品によっては意味をなさないメソッドも含まれています。
インターフェイスをそろえることはJavaのプログラミングでのテクニックとして有益です。しかし、App Inventorの開発スタイルでは部品ごとに必要な設定値だけあれば十分です。必要なものだけにまとめられているため、かえって分かりやすくなっています。
次ページでは、ブロックエディタの部品について説明します。
Copyright © ITmedia, Inc. All Rights Reserved.