話題の記事

Android 開発者必須!SupportPackage で SDK バージョン間の実装の違いを解消しよう

2012.12.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

support01

SupportPackage とは?

SupportPackage は Android 4.0 から導入された、 SDK バージョン (APIレベル) 間の実装の違いを解消するために提供されたサポートライブラリです。
Android 4.0 で多くの機能が追加され、また実装方法もより効率的に、よりシンプルになりました。Android 4.0 用のアプリを開発するときは問題ないのですが、それ以前の SDK バージョンに対応しようとする場合、クラスが参照できなかったり、改善される前の方法でしか実装できなかったりします。
分かりやすい例として Fragment が挙げられます。 Fragment は Activity 内で UI や振る舞いを分割するときに便利な、 Android 3.0 で初めて導入されたコンポーネントです。標準では Android 3.0 以降の SDK でしか使うことができませんが、 SupportPackage の Fragment クラスと FragmentActivity クラスを使うと Android 1.6 以降で動作させることができます。
筆者は出た当初あまり知らなかったのですが、知れば知るほどとっても便利な機能がサポートされていて、いまでは SupportPackage なしでは開発できません。たぶん。w
Android 開発においては必須!といえるライブラリだと思います。いま一度、ぜひご一緒に理解を深めましょう!

SupportPackage をアプリに導入する

ADT r20 以降では自動追加される

SupportPackage の導入方法ですが開発環境(ADT)が r20 以上であればプロジェクト作成時に自動的にライブラリに登録されます。プロジェクト作成後は以下のようになるはずです!

support02

既存アプリに導入する

これからアプリを作る場合は自動で追加されるので良いのですが、既存アプリでも使用したい場合があると思います。 ですが jar ファイルを直接コピーする必要はありません!ちゃんと追加する機能が ADT にはあるのでそれを使いましょう。
まずはプロジェクトを右クリックしましょう。するとコンテキストメニューに「Android Tools」があるので、その中の「Add Support Library...」をクリックします。

support03

これだけで最新の SupportPackage をダウンロードしてライブラリとして追加してくれます!

support04

プロジェクト作成後に SupportPackage のライブラリがアップデートされたときもこの方法で再度追加すれば良いと思います。

ソースコードを読めるようにする

SupportPackage はソースコードが公開されているので、プロジェクトにソースコードをリンクさせることができます!まずは SDK Manager で SupportPackage のソースをダウンロード・インストールします。

support05

次にプロジェクト設定の「Java Build Path」の画面を開き、「Libraries」タブを選択します。「Add External JARs...」ボタンを押し、以下のプロジェクト内の jar ファイルを指定します。

${PROJECT_ROOT}/lib/android-support-v4.jar

support06

追加した android-support-v4.jar の「Source attachment」を選択し、「Edit...」ボタンを押します。「Location path」には以下のフォルダを指定します。

${SDK_ROOT}/extras/android/support

最後に「Order and Export」タブに切り替えて、先ほど追加した android-support-v4.jar を選択し、「Up」ボタンを「Android Dependencies」より上に来るまで押します。

support07

「OK」ボタンを押して終わりです。クラスのソースが参照できるようになっているはずです!

support08

まとめ

SupportPackage はこれからもバージョンアップされていき、新しい機能の多くが下位互換されていくでしょう(ActionBarのサポートを早く出して欲しい…)。新機能ばかりに目を向けずに SupportPackage のバージョンアップもしっかりチェックしていきましょう!各クラスの使いかたは今後もブログ記事にまとめていく予定ですので、あわせてチェックしていただけると嬉しいです!

参考