Библиотеки совместимости Android. Лучшая практика
Я разрабатывал приложение для таргетинга на уровень API Android 10. Когда я начинал, моя теория была нацелена на низкий API, чтобы его можно было использовать на большинстве устройств. Я чувствую, что это то, что делают большинство новых разработчиков. По мере того, как я углубляюсь в Android, я начал знакомиться с библиотеками совместимости, чтобы добавлять функции в приложение с более высоких уровней API.
Есть ли у кого-нибудь четкие советы о том, как лучше всего разработать устройства для всех или большинства устройств. Я вижу 2 четких подхода.
Я читал эту статью много раз, но я заметил, что это с 2010 года и в годы андроида, что очень устарело.
Это лучше
-Разработать против более низкого API и использовать библиотеку совместимости, чтобы добавить лучшую совместимость с новыми устройствами
Или же
-Разработать против самого последнего API и работать в совместимости для поддержки старых устройств?
Наконец, я бы предположил, что доступность тестирующих устройств может вступить в игру здесь. У меня есть устройства как 2.3.4, так и 4.0, поэтому я действительно решаю, на каком устройстве я хочу проводить большую часть тестирования во время разработки.
Я надеюсь, что это не удаляется за субъективность. Это очень важный вопрос, который мучает многих новых разработчиков Android, и одна из причин, почему разработка приложения Good Professional для Android не является тривиальной задачей.
1 ответ
Я предполагаю, что то, что вы называете "библиотекой совместимости", является пакетом поддержки Android. Раньше это называли библиотекой совместимости Android более года назад.
Пакет поддержки Android содержит "бэкпорты" возможностей, представленных в более новых версиях Android. Есть и другие бэкпорты, такие как ActionBarSherlock, который предлагает бэкпорт панели действий.
Если вы решите использовать один или несколько бэкпортов, вы будете кодировать API бэкпортов. Вы не кодируете "более низкий API" или "самый последний API" для услуг, предоставляемых бэкпортами.
Моя общая рекомендация для разработчиков, использующих последнюю версию инструментов разработчика Android:
Установить
android:minSdkVersion
до самой старой версии Android, которую вы готовы поддержатьУстановите цель сборки и
android:targetSdkVersion
относительно недавней версии Android, которая содержит функции, которые вы можете условно использовать на более новых устройствахИспользуйте пакет поддержки Android, ActionBarSherlock и другие бэкпорты для поддерживаемых ими функций, которые вы хотите использовать последовательно на старых и новых устройствах.