ユーザーからの入力をトリガーとして
何らかの処理をする「イベント」という仕組み
このときに重要になるのが、「イベント」という考え方だ。GUIを使うアプリケーションでは、ユーザーが行なった操作に対して、何らかの処理をして、そして必要な処理が終わったら、またユーザーの操作を待つという形のプログラムを作る。こうした構造は、すでにクラスとして定義されているので、プログラムはこの操作に対応した「処理」の部分だけを作ればいい。
このときプログラム上で、ユーザーがした操作は「イベント」として扱う。たとえば、ユーザーがボタンを押せば、「ボタンを押した」というイベントが発生する。プログラムは、さまざまなイベントごとにどのような処理を行なえばいいのかを記述していく。イベントに対応する処理を一般に「イベントハンドラ」などという。またイベントに応じてプログラムが進行していくことから「イベント駆動」などともいう。
Androidでは、イベントが来るのを待つという意味で「イベントリスナー」という。つまり、このイベントリスナーを作っていくのが基本的なプログラムの作成となる。
イベントはさまざまなタイミングで発生する。たとえば、ユーザーがホーム画面にある「プログラムタブ」からアイコンをタップしてプログラムを起動すると、プログラムの初期設定を行なったあとでイベント待ちに入るが、すぐにプログラムが開始されたというイベントも発生する。ここまではAndroid側が持つオブジェクトが担当してくれるため、ユーザーはプログラムが動き出したあと、最初に必要な処理をここで行なえばいい。
Androidで表示を行なうオブジェクトは
「View」と呼ばれる
Androidのプログラムには、画面表示を持つものとそうでないものがある。画面表示を持つプログラムを「Activity」といい、画面表示を持たないプログラムを「Service」という。
Activityは画面表示を持っているが、画面表示はさまざまな「部品」を組み合わせて行なう。たとえば、「ボタン」や「テキスト入力欄」などである。Androidではこれらの部品もクラスとして定義されていて、前述のようにJavaプログラムの中で作って配置することもできるし、画面を定義するファイルを作ってそこに入れることもできる。
この部品には、画像の一覧やWebページ、地図表示といった高度な機能を実現しているものもある。また、電話帳などのあらかじめ用意されている他のアプリケーションの機能を一時的に利用することもできる。
Androidのプログラムの表示を行なうオブジェクトをView(ビュー)という。Viewは前述の部品に相当し、Viewを複数組み合わせてグループを作り、これを使って表示する。たとえば、テキストを表示するには、「TextView」という部品を使い、ボタンならば、「Button」というオブジェクトを使う。こうした部品の配置は、Eclipse内に表示されるレイアウトエディタで簡単に作ることが可能だ。ここで、画面を作り、各オブジェクトに名前を付ければ、プログラム側からは、付けた名前でオブジェクトにアクセスができる。
この部品の配置である「レイアウト」は、XML形式のファイルになっていて、メインプログラムとは分離されている。編集はXML側でも可能だ。
この連載の記事
-
第4回
スマホ
端末は無くとも、Androidのエミュレーターは動かせる! -
第3回
スマホ
タダで入手可能なAndroidの開発環境を作る -
第2回
スマホ
Androidのライバルとは? そしてAndroidの中身は? -
第1回
スマホ
Androidは携帯電話のプラットフォーム - この連載の一覧へ