Eclipse で Deprecated メソッドの取り消し線を消すには


Android は頻繁にバージョンアップが行われるため、古い API のメソッドが非推奨となり、新しいメソッドが推奨されているケースがよくあります。現在ですと、3.x(Honeycomb) 以降で採用された API が推奨になり、2.x 以下でしか使えないでも使えるメソッドが Deprecated 扱いになっている事がよくあります。

現状、Support Library で対応出来る場合は新しい API を使うのがベストだと思われます。しかし、同ライブラリが対応していない場合は、古い API を使わざるを得えません。(少なくとも Gingerbread は、まだ 50% 近いシェアを持ちます。 詳しくは、Dashboards を参照。)

Eclipse で非推奨の古いメソッドを使用した場合、デフォルトの設定では「取り消し線」が付けられるためコードが読み難くなってしまいます。またこれは、@SuppressWarnings(“deprecation”) を付けても消えません。

「取り消し線」が無くても、以下のように lint が警告マークを付けてくれるので特に困らないと思います。
deprecated_method

そこで、この「取り消し線」を消す設定を調べてみました。

Java 開発(Android 開発を含む)時の、Deprecated に対する「取り消し線」を消すのは、以下のように簡単に行えます。

  1. Window > Preferences > Java > Editor > Syntax Colorling を開く
  2. Element にある “Deprecated members” を選択
  3. Enable のチェックマークをはずす
  4. Apply ボタンを押す

syntax_coloring

あるいは、Enable のままにしておいて、Color を変更するとか、StrikethroughUnderline にするとかでも良いでしょう。もちろん、代替の推奨メソッドが利用できる場合はそちらを利用すべきです。

Android サポートライブラリの使い方


以前に、Android サポートライブラリ という記事で、サポートライブラリのセッティング方法について書きました。

サポートライブラリを使うと、古いプラットフォーム上でも新しい API を使ってアプリを作成することができます。ただし、Google Developers サイト 等で紹介されているフラグメントに関するコードを使う場合は、そのままではエラーになる場合があります。

ここでは、注意点を簡単に列挙します。(詳細は、Using the v4 Library APIs を参照してください)

  1. サポートライブラリで定義されているクラスを使用する場合は、ネイティブのパッケージでなく、サポートライブラリのパッケージ android.support で定義されたものを import する。(Eclipse で import の候補を表示すると、2つの候補が表示されるはず。)
  2. フラグメントを使用するためにアクティビティを作成するときは、そのアクティビティを、(従来の Activity クラスでなく、) FragmentActivity の派生クラスとして宣言する
  3. getFragmentManager() メソッドの代わりに、 FragmentActivity.getSupportFragmentManager() を使う
  4. getLoaderManager() メソッドの代わりに、 FragmentActivity.getSupportLoaderManager() を使う

特に 2 は、直接フラグメントを使用する部分と関係無いので見落としがちです。要注意です。

[関連記事]
Android サポートライブラリ

Android サポートライブラリ


サポートライブラリを導入すると、古いプラットフォーム上で新しい API を使用できるようになります。特に Android3(API-11) で導入された Fragment を利用すると、マルチスクリーン対応のアプリケーションを作成しやすくなるようです。

私はまだ新しい API を試してはいませんが、必要となった時にすぐ使えるよう、各プロジェクトに導入しています。

サポートライブラリには現在のところ 2種類があり、最低必要 API レベルが異なります。1つは v4(Android1.6)、もう一つは v13(Android3.2)です。現状ではまだ、Gingerbread(Android2.3)端末が多いので v4 を導入するのが良いと思います。

※この他に v7(Android2.1)ライブラリがありますが、先ほどの2つのライブラリとは独立した別のものなので、ここでの説明には含めません。

以下では、その導入手順を説明します。

  1. Eclipse 上で、ウインドウ > 「Android SDK マネージャ」を起動する。
  2. Extra/Android Support Library をインストールして、最新バージョンに更新しておく。
    support library
  3. android-sdks/extra/android/support/v4/android-support-v4.jar(android-sdks は、Android SDK をインストールしたディレクトリです。) をプロジェクトのトップディレクトリ下の libs/ に配置する。(libs が無ければ作成する)
    support library on Project Explorer
  4. Eclips のプロジェクト・エクスプローラーで、3で配置したファイルを右クリックし、ビルド・パス > ビルド・パスに追加をクリック。
    add build path

以上で、サポートライブラリの提供する新しい API が利用できるようになりました。

[関連記事]
Android サポートライブラリの使い方