Compatibility Package を使って、FragmentをHoneyComb以外で利用する


本日は、先日公開された「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を利用しましょう。

3 Comments