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

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

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

изменить : Подробнее:

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

edit2 : Обновление апреля 2015 г. – похоже, что ActionBarActivity устарела в revision 22.1.0 Библиотеки поддержки. Вместо этого следует использовать AppCompatActivity .

edit3: Обновление Aug 2017 – LifecycleActivity – это LifecycleOwner, но:

«Поскольку компоненты архитектуры находятся в альфа-фазе, classы Fragment и AppCompatActivity не могут ее реализовать (потому что мы не можем добавить зависимость от стабильного компонента к нестабильному API). До тех пор, пока жизненный цикл не будет стабильным, classы LifecycleActivity и LifecycleFragment предоставляются для удобства. Выпущен проект Lifecycles, fragmentы библиотеки поддержки и действия будут реализовывать интерфейс 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

И различия между Activity и FragmentActivity: разница между Activity и FragmentActivity

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

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

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

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

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

Основное различие заключается в том, что вы не получаете ActionBar для общей Activity .

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

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

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

  • Дублирующий идентификатор, тег null или родительский идентификатор с другим fragmentом для com.google.android.gms.maps.MapFragment
  • android: configChanges = "ориентация" не работает с fragmentами
  • Расположение координатора с панелью инструментов во fragmentах или действиях
  • как добавить значок для прокручиваемых вкладок
  • Давайте будем гением компьютера.