Главная » Разработка для Android » ПАКЕТ СОВМЕСТИМОСТИ – программирование Android

0

Один из важнейших аспектов, связанных с фрагментами, заключается в том, что, хотя они и появились в версии Android 3.0, а в более ранних версиях API отсутствуют, Google предоставляет пакет совместимости (Android Compatibility Package, АСР), чтобы функции, связанные с фрагментами, можно было использовать и на тех устройствах, где до сих пор работают более старые версии Android.

Пакет совместимости – это не, панацея. Он не обеспечивает совместимости с более новыми версиями («снизу вверх»). Приложение, использующее АСР, нуждается в АСР, даже если работает в системе Android 3.0. Разрабатывая стратегию внедрения АСР, Google столкнулся с настоящей головоломкой. Даже если бы удалось реализовать пакет совместимости так, чтобы приложение можно было прозрачно, без изменений портировать с Android 3.0 на Android 2.0 + АСР, то проблема все равно бы возникала. АСР приходилось бы включать в программу как ее часть. Если бы в АСР определялись классы, одноименные тем, что присутствуют в Android 3.0, то приложение,- использующее такой пакет, определяло бы классы, которые вступали бы в конфликт со своими системными определениями. Во избежание этого потребовалось бы производить весьма хитрые манипуляции с загрузчиком классов.

Поэтому пакет совместимости работает на специальном базовом пакете, android. support. v4, в котором определяются характеристики, связанные с совместимостью. Чтобы программа, разработанная под Android 3.0, могла использовать пакет совместимости, в ее код потребуется внести изменения. Как минимум нужно будет внести следующие изменения.

Скопируйте библиотеку АСР в ваш проект. В верхнем уровне этого проекта создайте каталог lib и скопируйте архив android-support-v4. jar из папки с Android SDKextras/android/compatibility/v4/ в этот каталог lib.

Добавьте АСР в путь сборки проекта. Если вы работаете с Eclipse, выберите эту библиотеку в диспетчере пакетов (возможно, чтобы увидеть ее, понадобится обновить проект: для этого нажмите F5 или щелкните левой кнопкой мыши и выберите Build Path ► Add to Build Path (Путь сборки ► Добавить в путь сборки)).

Измените целевую сборку проекта с Android 3.0 на Android 2.0.1 (Properties ► Android (Свойства ► Android)). Из-за изменения целевой версии сборки возникнет множество ошибок.

Некоторые импорты, касающиеся android.app, придется обновить, чтобы они ссылались на android.support.v4.app. При условии, что в вашей программе не было ошибок до изменения ее целевой сборки, вы встретите только поврежденные импорты и обновите их базовый пакет.

Все активности приложения, использующего фрагменты, должны быть обновлены так, чтобы вместо подкласса Activity применялся FragmentActivity.

Все вызовы к getFragmentManager нужно изменить на вызовы к getSupportFragmentMa-nager.

Исправьте все оставшиеся ошибки и протестируйте программу.

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

  • Комментарии