そのため、Preference の最小 API レベルを 11 に上げる必要がありました (addpreferenceresource は減価償却されました) - 9-10 が市場の 50% のようになることがわかりました。だから私の質問は、ジンジャーブレッド市場に対応するために警告を抑制する方が良いですか、それとも設定フラグメントを使用せずに私の設定参照を作成する別の方法がありますか?
2 に答える
両方のタイプ (11+ で機能するものと 10- で機能するもの) を実装してから、条件付きチェックを使用します。これは、この回答でかなり詳しく書かれています。
基本的に、最終的には を設定しOtherPreferencesActivity
、PreferenceFragment
次にPreferencesActivity
非推奨のを設定しますPreferenceActivity
。(バージョン チェックを使用して、将来削除された場合にそれを見つけようとしない限り、この非推奨のコードを含めることで APK が壊れることはありません。)
if (Build.VERSION.SDK_INT < 11) {
startActivity(new Intent(this, PreferencesActivity.class);
} else {
startActivity(new Intent(this, OtherPreferencesActivity.class);
}
コードが重複しないように、可能な限り互いのメソッドを使用する必要があることに注意してください。
最後のヒント:ここ@TargetApi(11)
で@SuppressWarnings("deprecation")
役に立ちます。そうすることで、他の廃止予定を無視しないように注意してください。
「減価償却済み」は、それを使用できないという意味ではなく、コードを実行するとシステムが壊れます。これは、公式には使用が推奨されておらず、このメソッドは API から削除される可能性があることを意味します。将来ですが、いつになるかはわかりません。したがって、今のところ、この場合に使用しても問題ないと思います。