本日は、先日公開された「Android Compatibility Package」を使って、FragmentAPIをAPI Level11以外で使用してみます。
以下スクリーンショットのサンプルは、Fragmentを動的に変化させるで作成した物と同様の物です。
#スクリーンショットは API Level 10 の端末で取得した物です。
#ステータスバーの部分などがHoneyCombとは異なっています。
実際に、旧APIにおいて、Fragmentを使用していく方法は続きをどうぞ。
Android Compatibitility Package
まず、「Android Compatibility Package」をSDK Managerから取得します。
※PCスクリーンショットはMacOSXの物となります。
左側のカラムにおいて、「Available Package」を選択します。
右側のカラムにおいて、「Android Repository」の > をクリックし、Repositoryの内容を読み込みます。
そこで、「Android Compatibitility package, revision 1」を選択し、「Install Selected」をクリックします。
左側のカラムにおいて、チェックが付いていることを確認し、「Install」をクリックします。
「Installed Android Compatibility package, revision 1」の文字が表示されれば、インストールは完了です。
Jarファイルのインポート
Compatibility Packageをインストールすれば、どのバージョンでも、FragmentAPIを利用出来るわけではありません。
APIを利用したいプロジェクト、各々において、Compatibility Packageにて提供されるJarファイルのインポートが必要となります。
Jarファイルのインポートに関しては、過去記事「JARファイルを作って、別のプロジェクトで使う」のJARファイルを読み込んで利用するにおいて触れています。
過去記事の内容の通りに、Jarファイルをインポートします。
インポートするJarファイルは下記場所に保存されています。
ファイルをプロジェクトのlibsディレクトリに配置した状態から、過去記事内容に沿ってインポートします。
<SDK-HEAD>/extras/android/compatibility/v4/android-support-v4.jar
ソースファイルの変更
Compatibility PackageのJarファイルには、以下のクラスがサポートされています。
最後に、過去リソースを変更する上で注意すべき内容を挙げます。
■import先の変更
→上図の通り、Package名がHoneyCombの物と変更されています。
Package名の変更に注意。
■Activity#getFragmentManager()は存在しない。
→Activity#getFragmentManager()は未サポート
代わりとなるMethodとして、FragmentActivity#getSupportFragmentManager()を使用します。
Fragmentを利用するActivityではFragmentActivityを利用しましょう。