back

AppWidgetを作ろう! (2/10)

■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内のさまざまな要素を結び付けます。例えば「ボタンをクリックしたらこのサービスに用意されたこの処理が実行されるようにする」といった具合です。


(by. SYODA-Tuyano.)

※リストが表示されない場合

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


   

記事のリストに戻る



PC Site G+ mail