3

私は現在、最新の API (15 ICS) に基づく 15 アクティビティの Android アプリの開発を進めています。アプリの主な機能主義者は、次のような Android v4 サポートとの下位互換性がないことを発見しました。

1-fragmentTransaction アニメーション 2-sharedPref に StringSet を配置する機能 3-フラグメントを使用した mapActivity を持つ

非互換性の問題がある各クラスの古い OS (約 10) の 2 番目のバージョンを作成することを考えたので、アプリを実行しているデバイスが古いことを検出した場合にそれらを使用します。ただし、これはばかげた方法であり、これを行うより良い方法があると確信しています。

より高いAPIが提供する機能を残さずにコードをAPI 7以降と互換性を持たせるための最良の方法は何ですか(少なくとも新しいデバイスに使用するため)

4

1 に答える 1

0

実行時に Android の API レベルを確認し、API レベルに従って必要な機能を有効にすることができます。

以下のようなもの。

int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH){
// Do something for ICS and above versions
} else{
// do something for phones running an SDK before ICS
}

さらに、drawable-v15 などのリソース フォルダーにバージョン修飾子を追加できます (デバイス API レベルが 15 の場合、ドローアブルを取得します)。

リソースに必要な修飾子を指定する方法の詳細については、このLINKを確認してください

これにより、最新のファームウェア デバイスで起動したときに利用可能な最新の機能が有効になり、それ以外の場合は下位互換性が有効になります。

于 2012-06-04T12:16:37.607 に答える