! appwidget-stackview (API Level 11)

Android 3.0 以降アプリケーションウィジェット利用可能なビューとして
以下のものが追加されました。

* GridView
* ListView
* StackView
* AdapterViewFlipper

この中の StackView を使ってみるサンプルです。


!! StackView を使ったアプリケーションウィジェットの実装手順

通常のアプリケーションウィジェットの作成手順に加えて StackView の
各要素を作成するために追加の手順が必要になります。

* アプリケーションウィジェットのレイアウトを作成
* アプリケーションウィジェットの情報を記述したXMLファイルを作成
* AppWidgetProvider を継承したクラスを作成
* StackView の各要素の作成をする RemoteViewsService を継承したクラスを作成
* AndroidManifest.xml に必要事項を登録


!! StackView の要素をクリック時にインテントを送信

以下の2つの手順で StackView の各要素のクリック時に要素ごと異なる
内容のインテントを送信することが可能となります。

* StackView に対してテンプレートとなるインテントを登録
* StackView の各要素に対して、テンプレートに追加したい情報を登録

例
    // StackView の要素がクリックした際に発行するインテントのテンプレートを設定
    Intent templateIntent = new Intent(context, HelloActivity.class);
    PendingIntent template = PendingIntent.getActivity(context, 0,
    	templateIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    remoteViews.setPendingIntentTemplate(R.id.messages_listview, template);

    // remoteViews がクリックされた際に発行されるインテントは
    // setPendingIntentTemplate() で設定したインテントに以下のインテントの
    // 情報を追加( Intent#fillIn() )したものとなる
    Intent fillInIntent = new Intent();
    fillInIntent.putExtra(HelloActivity.EXTRA_NAME, names[position]);
    remoteViews.setOnClickFillInIntent(R.id.name_textview, fillInIntent);


!! ビルドターゲット

http://maven-android-plugin-m2site.googlecode.com/svn/plugin-info.html

* mvn compile - アプリケーションのコンパイル
* mvn package - apk の作成
* mvn clean - ビルドファイルの削除
* mvn install - maven の local リポジトリにインストール

* mvn android:deploy - エミュレータやデバイスにインストール
* mvn android:generate-sources

* mvn install - アプリケーションのインストール
* mvn uninstall - アプリケーションのアンインストール

