最小 SDK を 2.0 に指定し、ターゲット SDK を 4.1 に指定した場合、下位互換性を確保するために明示的なコードを記述する必要があります。たとえば、SDK レベル 7 で導入されたジェスチャ検出機能を使用したい場合に、ターゲットを 7 に設定し、最小値を 3 に設定します。 7 未満で 3 を超えるターゲットで実行されますか?
3 に答える
はい、古いバージョンの Android で実行する場合は、将来の API を呼び出さないようにする必要があります。OS のバージョンに応じて、実行時に適切なコード パスを選択するようにコードを編成できます。
はい、そうする必要がありますが、8 (2.2) より前の API を引き続きサポートする論理的な理由は見当たりません。
文字通り、市場の 1.6% です。このような初期バージョンを維持およびサポートする努力は、もはや価値がありません。
つまり、バージョン固有のコードを実行する必要がある場合は、次のように処理します。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) {
//Use API 7+ code
} else {
//Use backwards compatible code
}
最小レベル 4 までの下位互換性を保証する方法については、Android の公式サイトを確認してください(API レベル 7 までは無視できます。通常、API レベル 8 以上がわずかに重要です)。常に最新のサポート ライブラリを使用してください。
もちろん、いくつかの小さなコード変更があります (などgetSupportFragmentManager()
の置き換えgetFragmentManager()
など)。起こりうる最悪の事態はNoSuchMethodException
、下位プラットフォームに存在しない API を呼び出さないように十分に注意する必要があることです。SDKは、それが発生したときにそれを非常に明確に通知する必要があります。