Какие версии Android SDK поддерживают кодирование, в каких версиях Java?

Я писал приложение Android для Android SDK 2.3.3, но затем меня попросили протестировать его на устройстве под управлением Android 2.2.1. Поэтому я поставил свою цель на 8 вместо 10. Но тогда java.util.concurrent.TimeUnit только имел набор функций Java 1.5 вместо набора функций Java 1.6/1.7 java.util.concurrent.TimeUnit. Поэтому я поместил openjdk 6 в приложение TimeUnit в свой пакет для своего Android-приложения, и все работает нормально.

Кто-нибудь знает, где я могу получить документацию, которая дает мне диаграмму, которая говорит мне, например, что при использовании официального SDK Android 2.2 должен быть закодирован с использованием ключевых слов/синтаксиса/API Java 1.5, Android 2.3.3 могут быть закодированы с использованием ключевых слов/синтаксиса/API Java 1.6 и т.д.??

Ответ 1

Вы пытаетесь взглянуть на Android как на подмножество Java, которого нет. Они полностью разделены. Несмотря на то, что Android поставляется с Java, он как-то немного отошел от него, и между ними нет никакой корреляции "версия-мудрый".

Что вы можете посмотреть, это документация на Android. Для каждой команды/команды/метода/свойств в правом верхнем углу вы найдете уровень api, на котором вы можете получить доступ к указанному свойству.

Нажав на уровень api, вы попадете на страницу, содержащую таблицу, которая переводит уровень api в версии для Android.

Легкий способ узнать, разрешено ли вам использовать свойство, - использовать eclipse и делать то, что вы только что сделали: изменить целевой уровень api. Тогда любой вызов методов или свойств, которые недоступны вам, приведет к фатальным ошибкам.