SyntaxHighlighter

2012年2月13日月曜日

Action Bar実装編(前回の続き)

前回の続きです。

メニュー用のリソースも出来ましたので、メニュー表示をプログラムに実装して使えるようにしましょう。

と言っても今回はいろいろ工夫したりしているわけではないので、Android Developersの「Menus」にあるようなリファレンスどおりの作り方になりますが(^^ゞ

onCreateOptionsMenu()はこんな感じ。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
 MenuInflater inflater = getMenuInflater();
 inflater.inflate(R.menu.menu_main, menu);
 return true;
}

ちょこっと解説。
MenuInflater でXMLからメニューの情報を使用します。
で、nflater.inflate()で、作成したmenu_main.xmlをIDで指定します。

次に、メニューが選択された時の動作、onOptionsItemSelected()はこんな感じです。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
 switch( item.getItemId() ) {
  case R.id.appfinish:
   finish();
   break;
  case R.id.howto:
   showHelp();
   break;
  case R.id.about:
   showCredit();
   break;
 }
 return super.onOptionsItemSelected(item);
}

こちらは簡単ですね。
switch 文を使って、 受け取った MenuItem の getItemId()で選択されたメニューアイテムのIDを取得して、caseで各IDを指定します。
IDはmenu_main.xmlで各メニューアイテムに指定したIDを利用します。

これでAndroid3.0以上の環境で実行すると Action Bar として実行され、Android 3.0以前では従来のようなメニューで表示されます。

Action Barでの表示方法は前回書きました、show As Action の指定の方法で変わってきます。実際に設定して動かしてみると違いがよくわかると思います。

最後に、アプリのバージョンアップです。

マニフェストファイルの Version Codeを前回よりも大きい数字(今回の私の場合、1 → 2)に変更して、Version Nameも任意の値を指定(今回は1.0.0 → 1.1.0)、アップロード用の apk ファイルを作成したらAndroidマーケットのデベロッパーコンソールでアップロード済みのアプリを選択し、「APKファイル」タブを選択して、新規のAPKファイルをアップロード。アップロードが完了したら新しい方のパッケージを有効にして、必要に応じて「商品の詳細」タブでRecent Changes(更新情報)を記入して、「保存」をクリック。

すぐ見ても反映されませんでしたが、一晩たった時点では反映されていました(最短どのくらいかは…あとで調べてみようと思います)。
ちなみに、更新情報に

あああ
いいい

というように書いたらそのまま出るのかと思ったら、
  1. あああ
  2. いいい
というように、各行が番号付きで表示されるようでした。

0 件のコメント:

コメントを投稿