libro
www.tuyano.com
Google androidプログラミング入門

AppWidgetを作ろう! (2/10)

作成:2009-12-28 17:25
更新:2010-05-11 15:12

■AppWidgetの構造

AppWidgetは、いくつかのファイルから構成されます。必要となるものを整理すると、以下のようになるでしょう。

・レイアウトファイル
一般のプログラムと同様に、画面の表示はレイアウト用のXMLファイルとして用意します。これは基本的には大きな違いはありませんが、ただし全く同じではありません。AppWidgetでは、使用できるウィジェットが限定されています。「AnalogClock」「Button」「Chronometer」「ImageButton」「ImageView」「ProgressBar」「TextView」と、レイアウト関係のものした使うことはできないのです。それ以外のもの、例えばテキストを入力するEditTextなどは使うことができません。

・AppWidgetプロバイダー・ファイル
これもXMLファイルです。これは「AppWidgetプロバイダー」というものを記述するためのものです。AppWidgetに関する各種の設定情報が記述されます。androidは、ここに書かれた情報を元に、AppWidgetを作成します。

・AndroidManifest.xml
これは、androidのプログラムに関する情報を記述しているファイルです。これ、実はプロジェクト作成の当初からあったんですが、ほとんど注目されてきませんでしたね。ここに「プロバイダー」「レシーバー」というものに関する設定を用意しておきます。

・Javaソースコードファイル
最後に、肝心のJavaソースコードも用意します。これは、大きく分けて2つのソースコードからなります。1つは「プロバイダー」クラス、もう1つは「サービス」クラスです。この2つを組み合わせてプログラムは動きます。

AppWidgetでは、「プロバイダー」「サービス」というものが登場します。プロバイダーは、プログラムやその中に用意されているデータ、機能などを公開し、外部から利用できるようにするためのものです。またサービスは、バックグラウンドで実行されるプログラムです。

AppWidgetでは、プロバイダーの一種である「AppWidgetプロバイダー」というものとしてプログラムを作成します。ここで、AppWidgetが起動したり破棄されたりする際の処理を用意します。AppWidgetがホームスクリーンに貼り付けられると、そのAppWidgetプロバイダーにより必要な処理が実行されるわけです。

AppWidget内で何かの処理を行うような場合には、サービスとして必要な処理を用意します。AppWidgetプロバイダーでAppWidgetが実行される際に、必要なサービスとAppWidget内のさまざまな要素を結び付けます。例えば「ボタンをクリックしたらこのサービスに用意されたこの処理が実行されるようにする」といった具合です。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「Google androidプログラミング入門」に戻る