2012年3月26日月曜日

AppNavigationのサンプルがはにゃ?

先日のAndroid SDKがrev.17にアップデートしたという記事で、もうひとつ気になることがあった。

Updated SDK Tools and ADT revision 17 | Android Developers Blog

・・・
NavUtils and TaskStackBuilder provide cross-version support for implementing the Android Design guidelines for navigating within your app including the action bar's "Up" button.
・・・

クロスバージョンに対応するNavUtilsやTaskStackBuilderというものがあるらしい。アクションバーをうまく実装するためのものか?

そこで、このあたりの情報が無いか調べていたのだけど、あまり大した情報は見当たらなかった。

ひょっとしてSDKのサンプルにあるのでは?と思い、確認してみると案の定あった。「AppNavigation」というサンプルがこれらのサンプルにあたるようだ。

とりあえず動かしてみよう。


サンプルプロジェクト作成

eclipseで File > New > Project > Android > Android Sample Project > > Next > Android 4.0.3 をターゲットに選択 > Next > AppNavigation プロジェクトを選択 > Finish


ここで選ぶターゲットによって、選べるサンプルの数も変わるのね。


足りないライブラリをインストール

AppNavigationプロジェクトが作成されるけど、いきなりの「NavUtils cannot be resolved」などコンパイルエラー。何かライブラリが足りないらしい。

Window > Android SDK Manager > Extras > Android Support を選択 > Install 1 Package



ビルドパスの設定

AppNavigation プロジェクトを右クリック > Properties > Java Build Path > Libraries > Add External JARs > (SDK HOME)/extras/android/support/v4/android-support-v4.jar を選択 > OK


これでコンパイルが通るようになる。


実行。はにゃ?

とりあえずデバッグすると2.2のエミュが立ち上がる。


ここで「Simple Up Navigation」を選んで次の画面へ移る。しかし、何かナビゲーションバーになってないような・・・


今度はデバッグ設定を4.0.3のエミュで実行するようにしてデバッグしてみる。


ここでも「Simple Up Navigation」を選んで次の画面へ移る。今回はナビゲーションバーにはなってる風。


しかし、左上の「Up(?)」ボタンをクリックすると「InvocationTargetException」が出るんだが。

はにゃ?こういうサンプルなのか?これでクロスバージョン対応なのか?

せめてサンプルごとに簡単なreadmeか何かを入れてもらって、どういうサンプルなのかくらいは説明してもらいたいと思うのは自分だけか?

というわけで、正直、このサンプルわからな〜い_| ̄|○