Я думаю, что важный код для просмотра находится в ActivityHelper и ActivityHelperHoneycomb . По сути, они устанавливают android:targetSdkVersion="11"
и android:minSdkVersion="7"
, а затем выборочно вызывают новые API-интерфейсы ActionBar в Honeycomb (или более поздних версиях) и их собственную предустановленную реализацию Honeycomb.
Если у вас еще нет штрих-кода действия для предварительной соты, есть хороший проект под названием ActionBarSherlock , который позволяет просто использовать API-интерфейс ActionBar и заставить его работать до предварительной соты (просто измените некоторый импорт).
ПРИМЕЧАНИЕ: Если вы решили использовать ActionBarSherlock и обновили свою среду для использования недавно выпущенного кода API уровня 13r1 или 12r2, обязательно используйте версию 3.0.3 или выше (дополнительная информация здесь ).
РЕДАКТИРОВАТЬ: Немного больше информации, чтобы лучше ответить на ваш вопрос. Установка android:targetSdkVersion="11"
достаточна, чтобы дать вам доступ к классу ActionBar
. Установка android:targetSdkVersion="7"
позволяет приложению запускаться на устройствах с предварительным сотовым наполнением, но вызов с них кода ActionBar
приведет к NoClassDefFoundError
(или, возможно, NoSuchMethodError
?).
Чтобы избежать этого, они используют ActivityHelper
для уровней API <11 и <code>ActivityHelperHoneycomb на уровнях API> = 11. ActivityHelper # createInstance (Activity) - это место, где они решают, какой использовать.