Совместимость и программирование Android
Из-за задержек обновления в сочетании с регулярным
выпуском новых версий совместимость становится важной
проблемой в программировании Android. Чтобы привлечь
широкую аудиторию, разработчики Android должны создавать
приложения, которые хорошо работают на устройствах с
тремя-четырьмя версиями Android, а также на устройствах
различных формфакторов.
Поддержка разных размеров не столь сложна, как может
показаться. Смартфоны выпускаются с экранами различных
размеров,
но
система
макетов
Android
хорошо
приспосабливается к ним. С планшетами дело обстоит сложнее,
но в этом случае на помощь приходят квалификаторы
конфигураций (как будет показано в главе 17). Впрочем, для
устройств Android TV и Android Wear (также работающих под
управлением
Android)
различия
в
пользовательском
интерфейсе настолько серьезны, что разработчику приходится
переосмысливать
организацию
взаимодействия
с
пользователем и дизайн приложения.
Разумный минимум
Самой старой версией Android, поддерживаемой в примерах
книги, является API уровня 21 (Lollipop). Также встречаются
упоминания более старых версий, но мы сосредоточимся на тех
версиях, которые считаем современными (API уровня 21+).
Доля устройств с версиями Gingerbread, Ice Cream Sandwich,
Jelly Bean и KitKat падает от месяца к месяцу, и объем работы,
необходимой для поддержки старых версий, перевешивает
пользу от них.
Инкрементные выпуски не создают особых проблем с
обратной совместимостью. Изменение основной версии —
совсем другое дело. Работа, необходимая для поддержки только
устройств 5.x, не так уж велика, но если вам также необходимо
поддерживать устройства 4.x, придется потратить время на
анализ различий между версиями. К счастью, компания Google
предоставила специальные библио теки, которые упростят
задачу. Вы узнаете о них в следующих главах.
При создании проекта GeoQuiz в мастере нового
приложения вы выбирали минимальную версию SDK (рис. 7.1).
(Учтите, что в Android термины «версия SDK» и «уровень API»
являются синонимами.)
Рис. 7.1. Еще не забыли?
Кроме минимальной поддерживаемой версии также можно
задать целевую версию (target version) и версию сборки (build
version). Давайте разберемся, чем различаются эти версии и как
изменить их.
Все эти свойства задаются в файле
build.gradle
в модуле
app
. Версия сборки задается исключительно в этом файле.
Минимальная и целевая версии SDK задаются в файле
build.gradle
,
но
используются
для
замены
или
инициализации значений из файла
AndroidManifest.xml
.
Откройте файл
build.gradle
, находящийся в модуле
app
.
Обратите внимание на значения
compileSdkVersion
,
minSdkVersion
и
targetSdkVersion
.
compileSdkVersion 28
defaultConfig {
applicationId
"com.bignerdranch.android.geoquiz"
minSdkVersion 21
targetSdkVersion 28
Do'stlaringiz bilan baham: |