Androidアプリを作ろう08 ウィジェットの応用①

付箋のようなウィジェットを作る

目次

  1. アクティビティに遷移する
  2. 付箋ウィジェットアプリを作る
  3. プログラムの解説
  4. さいごに

アクティビティに遷移する

今回はウィジェットをクリックしてアプリ画面に遷移するプログラムを作成してみましょう。
つまり、ウィジェットをクリックするとアクティビティが起動するアプリということになります。
これを実現するにはウィジェットのコードを記述したクラスと、アクティビティのコードを記述したクラスが必要になります。
そのためにはまず、この章で行っているように「No Activity」のプロジェクトを作り、ウィジェットを作成します。
ウイジェットが作成出来たら今度はアクティビティを作ります。
アクティビティはウィジェットを作成したときと同様に「New」→で」下のほうに「Activity」という項目があるので、それをクリックしてください。
そうすると、AndroidManifest.xmlに追記された状態でActivityクラスが出来上がります。

付箋ウィジェットアプリを作る

さて、ここまでの作業ができていればWidgetクラスとActivityクラスの2つがあるはずです。
これを、以下のように書き換えます。
クラス名は各自直してください。

AppWidgetTesterクラス

WidgetActivityクラス

実行結果は以下のようになります。

プログラムの解説

ウィジェットをクリックするとウィジェットはクリックしたタイミングでインテントを発行します。
このインテントを自分自身で受け取り処理をします。
別のタイミングでインテントを発行るためペンディングインテントを利用することになります。
今度は起動するアクティビティのクラスを明示的に指定します。
起動した入力画面ではウィジェットのIDとウィジェットに表示すべきテキストをHashMAPを利用して管理しています。
覚えていない方はJavaのコレクションの項目を復習してください。
IDが見つからなければ、新規に「MEMO」という文字列をリモートビューのテキストに設定します。
変更したリモートビューでウィジェットの更新をしています。

さいごに

いかがだったでしょうか?
ウィジェット、2つのクラスと割とややこしいつくりをしているので動かない方もいらっしゃるかと思います。
プログラムは作った通りにしか動かないので、起動しない場合は必ずどこかに間違いがあります。
次回は画像をウィジェットに張り付けるアプリについて学習しましょう。

このサイトをフォローする!