SDKをインストールするときに、携帯電話の約97%がAndroid 2.1をサポートしていることを読みました。新しいプロジェクトを開くときに、Android 2.1にコンパイルすることを選択する必要がありますか?2.1用に作成されたアプリは新しいバージョンで動作しますか?反対は機能しますか?4.0.3に開発した場合、それは古いもので機能しますか?
ありがとう、エリック
SDKをインストールするときに、携帯電話の約97%がAndroid 2.1をサポートしていることを読みました。新しいプロジェクトを開くときに、Android 2.1にコンパイルすることを選択する必要がありますか?2.1用に作成されたアプリは新しいバージョンで動作しますか?反対は機能しますか?4.0.3に開発した場合、それは古いもので機能しますか?
ありがとう、エリック
私の質問は、新しいプロジェクトを開くときに、Android 2.1にコンパイルすることを選択する必要がありますか?
ビルドターゲットとして指定するもの(「コンパイル先を選択」)は、Androidのどのバージョンでアプリケーションを実行できるかに直接影響しません。
2.1用に作成されたアプリは新しいバージョンで動作しますか?
「for」という言葉の合理的な解釈については、そうです。
4.0.3に開発した場合、それは古いもので機能しますか?
Agarwalの答えと同様に、これは「to」の意味によって異なります。
たとえば、を使用するとしますCalendarContract
。このクラスは、APIレベル14(別名、Android 4.0)で追加されました。Android 4.0以降のデバイスでのみ使用する限り、問題はありません。ただし、古いデバイスでCalendarContract
使用しようとすると、そのクラスがファームウェアに存在しないため、クラッシュします。CalendarContract
したがって、新しいバージョンのAndroidを実行しているデバイスでのみ新しいAPIを使用するようにする限り、条件付きで新しいAPIを使用できます。通常、これは次のようなバージョンガードブロックを介して行われます。
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {
// do something that requires API Level 11+ here
}
4.0.3に開発した場合、古いバージョンのデバイスにはインストールされません。2.1用に開発した場合、新しいバージョンで正常に動作します。ただし、使用する場合、4.0.3の機能を取得することはできません。