PR

匿名クラスを利用する

 リスト2のコードは、わかりやすさを優先するためにイベントリスナーに登録するButtonClickListenerクラスを生成しています。しかし、匿名クラス(無名クラスとも言います)を利用すれば、もっと簡潔に記述できます。

 匿名クラスを使ったコードがリスト3です。リスト2の(3)を書き換えることで、(4)〜(5)が不要になりました。コードがシンプルになるので、こちらの記法のほうがよく見かけると思います。

リスト3 ●匿名クラスを使って書き直したonCreateメソッド
リスト3 ●匿名クラスを使って書き直したonCreateメソッド
[画像のクリックで拡大表示]

 匿名クラスでは、クラス名の後ろに( )を付けて、その後の{ }の中にクラスの定義を書くことで、その名前のクラスを継承した名前のないクラスを定義できます。クラス名の代わりにインタフェース名を書けば、そのインタフェースを実装した名前のないクラスを定義できます。リスト3のコードでは、この名前のないクラスから、newキーワードで直接OnClickListenerのオブジェクトを生成しています。

 リスト2では、(4)でButtonClickListenerという名前のクラスを用意して、そこからリスナーのオブジェクトを(3)で生成していました。しかし、このオブジェクトはsetOnClickListenerメソッドに渡すこと以外に用途がないので、わざわざ名前を付けたクラスとして用意する必要はないわけです。そこで匿名クラスを使って、コードを簡潔にすることができます。

 ちなみに、イベントリスナーには、OnClickListener以外にもたくさんあります。よく利用するものを表1に示しました。ほかにどのようなイベントリスナーあるのかを知りたい人は、Webサイトを参照してください。

表1 ●Viewクラスに含まれる主なイベントリスナー
表1 ●Viewクラスに含まれる主なイベントリスナー
[画像のクリックで拡大表示]
☆  ☆  ☆

 以上、Android Studioの導入手順から、プロジェクトの作成方法、そしてAndroidアプリケーション開発に必要な基礎知識を解説してきました。おそらく今後は、Android StudioがAndroidアプリケーション開発の主流になるでしょう。試作したサンプルアプリケーションはごく簡単なものでしたが、Androidアプリケーションを作成する上で、重要な事柄は押さえられたと思います。

 Androidアプリケーションは、自分で作成してみると様々な事柄が理解できるようになります。最初のうちは、画面にGUIパーツを配置するだけでも構いません。配置したパーツがどのようなXMLファイルでレイアウトされるのか、そのパーツを動かすにはどうすればよいのか、といったことを考えるだけでも、プログラミングの力は向上します。そして、より高機能で使いやすいアプリケーションを作るにはどうすればよいのかを、一歩ずつ学んでいってください。そのためのスタート地点として、本特集が皆さんのお役に立てれば幸いです。