Разница между расширением LifecycleActivity,Activity,ActionbarActivity & AppCompactActivity?



В Android какова основная разница между расширением Lifecycler Activity, Activity, ActionBarActivity & AppCompactActivity? Как эти классы отличаются друг от друга с точки зрения использования?

548   5  

5 ответов:

  • расширения ActionBarActivity дает ActionBars функциональность на каждом уровне API >= 7
  • расширение Activity вы можете избежать добавления дополнительных проектов/библиотек в проект, но вам не хватает ActionBar на уровнях api ниже 11

edit: Подробнее:

ActionBarActivity является частью Библиотека. Библиотеки поддержки используется для доставки новых функций на старых платформах. Например,ActionBar был введен в API 11 и является частью Activity по умолчанию (в зависимости от темы на самом деле). В отличие от этого нет ActionBar на старых платформах. Таким образом, библиотека поддержки добавляет дочерний класс Activity (ActionBarActivity), что обеспечивает ActionBarфункциональность и пользовательский интерфейс

edit2: обновление апрель 2015 - это выглядит как ActionBarActivityосуждается в revision 22.1.0 библиотеки поддержки. AppCompatActivity должен использоваться вместо этого.

edit3: Обновление Августа 2017 -LifecycleActivity это LifecycleOwner но:

" поскольку компоненты архитектуры находятся в альфа-стадии, фрагмент и Классы AppCompatActivity не могут реализовать его (потому что мы не можем добавить зависимость от стабильного компонента к нестабильному API). До Жизненный цикл стабилен, LifecycleActivity и LifecycleFragment занятия для удобства гостей. После того, как проект жизненных циклов выпущенные, вспомогательные библиотечные фрагменты и мероприятия будут реализовывать Интерфейс LifecycleOwner; LifecycleActivity и LifecycleFragment будут будьте осуждены в то время."

(скопировано из руководства по компонентам архитектуры)

Если вы посмотрите внимательно, вы увидите это

public class ActionBarActivity extends FragmentActivity
implements ActionBarDrawerToggle.DelegateProvider TaskStackBuilder.SupportParentable

здесь вы можете прочитать о FragmentActivity: http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html

и различия между активностью и FragmentActivity: разницу между активностью и FragmentActivity

кроме того, есть некоторые новые темы для укладки actionBar... https://developer.android.com/training/basics/actionbar/styling.html

Actionbar вводится на уровне API 11. com.андроид.поддержка: appcompat-v7:+ - это библиотека поддержки, которая позволяет вам иметь панель действий в вашем приложении для устройств, работающих на Android 3.0 или ниже. Итак, если вам нужна панель действий ниже уровня api 11, Ваша активность должна расширить ActionBarActivity.

Если вы нацелены на уровень api 11 и выше, то вам не нужно расширять ActionBarActivity и ссылка AppCompat. Вы можете просто расширить активность, и по умолчанию у вас будет actionabr.

проект Android Studio по умолчанию включает его автоматически в зависимости и расширяет ActionbarActivity вместо Activity, чтобы использовать его.

The ActionBarActivity или SupportActionBarActivity дополнительные методы и свойства, которые не являются в общем Activity. например методы для добавления вкладок присутствуют в ActionBarActivity и не в общем Activity.

главное отличие в том, что вы не получаете ActionBar универсальный Activity.

ActionBarActivity просто имеет больше библиотек поддержки и лучшее использование новых тем, доступных из api 11.

" в самой простой форме на панели действий отображается заголовок действия и значок приложения слева. Даже в этой простой форме панель действий полезна для всех действий, чтобы информировать пользователей о том, где они находятся, и поддерживать согласованную идентичность для вашего приложения."

вы используете библиотеку поддержки Android, когда вы приходите к Actionbaractivity . таким образом, использование библиотеки поддержки является ваше приложение может быть suport для максимального количества устройств. Библиотека поддержки дает вашему приложению силу обратной совместимости. Actionbaractivity дает вам многоплановую функцию, такую как переключатель Actionbardrawer и т. д.. есть больше доступных библиотек поддержки. смотрите эту ссылку .. и поделиться с вашим друзья...https://developer.android.com/tools/support-library/index.html

Comments

    Ничего не найдено.