2012-05-17 16 views
10

Android SDK 2.3.3用のAndroidアプリを作成していましたが、Android 2.2.1を実行している端末でテストするよう依頼されました。ですから、私はターゲットを10ではなく8に設定しました。しかし、java.util.concurrent.TimeUnitはjava.util.concurrent.TimeUnitのJava 1.6/1.7機能セットの代わりにJava 1.5フィーチャセットしか持っていませんでした。だから私は自分のAndroidアプリのための私のパッケージにTimeUnitのopenjdk 6の実装を入れ、すべて正常に動作します。どのバージョンのJavaでコーディングをサポートするAndroid SDKのどのバージョンですか?

公式のSDKを使用している場合、Android 2.2はJava 1.5のキーワード/構文/ API、Android 2.3を使用してコード化されなければならないということを教えてくれます。 3は、Java 1.6キーワード/構文/ APIなどを使用してコード化できますか?

+0

Java 1.6がAndroidよりも古いため、Androidが1.5を使用するように強制することは奇妙に思えます。多分、ここでもっと進んでいるかもしれない。 – jpaugh

+0

私はopenjdkがその時点で1.5までしかなかったと思っており、それはそれと関係があります。 openjdk 7は2011/07/28 –

+0

まで複製されませんでした:http://stackoverflow.com/q/7535385/324625 and http://stackoverflow.com/q/390482/324625 –

答えて

6

あなたは、JavaのサブセットとしてAndroidを見ようとしています。それらは完全に分離されています。 AndroidはJavaから来ていますが、それはかなり離れており、この2つの間には「バージョンワイズ」という相関関係はありません。

あなたが見ることができるのは、Androidのドキュメントです。すべての命令/コマンド/メソッド/プロパティについては、右上に前記プロパティにアクセスできるAPIレベルがあります。

APIレベルをクリックすると、APIレベルをAndroidバージョンに変換するテーブルが表示されます。

あなたがプロパティを使用することが許可されているかどうかを調べる簡単な方法は、eclipseを使用していて、あなたがしたことを行うことです。ターゲットAPIレベルを変更します。その後、利用できないメソッドやプロパティを呼び出すと、致命的なエラーが発生します。

+1

"もう相関関係はありませんふたつの間に。"まあ、それは本当ではないのですか? – keyser

+0

@Keyser Yahelのポイントは、サポートされているものを見つけるためにAndroidバージョンを特定のJavaバージョンにマップしないでください。代わりにAndroidのドキュメントを直接確認する必要があります。 –

+0

@Keyser:あなたが精巧にしてくれれば:) – Yahel

関連する問題