Если вы говорите Activity
, AppcompactActivity
и ActionBarActivity
т.д и т.д ..
Нам нужно поговорить о базовых классах, которые они расширяют. Сначала мы должны понять иерархию суперклассов.
Все вещи запускаются из контекста, который является суперклассом для всех этих классов.
Контекст - это абстрактный класс, реализация которого обеспечивается системой Android. Он позволяет получить доступ к ресурсам и классам, относящимся к конкретному приложению, а также к дополнительным вызовам для операций на уровне приложения, таких как запуск, широковещание и получение и т. Д.
Context
сопровождается или продлен ContextWrapper
ContextWrapper класс , который распространяется Контекстное класс , который просто делегирует все ее звонки в другой контекст. Может быть разделено на подклассы для изменения поведения без изменения исходного контекста.
Теперь мы достигаем Activity
Активность представляет собой класс , который расширяет ContextThemeWrapper , что представляет собой единый, целенаправленный вещь , что пользователь может сделать. Почти все действия взаимодействуют с пользователем, поэтому класс Activity позаботится о создании окна для вас.
Ниже классы ограничены в расширении, но они расширяются внутренним наследником и обеспечивают поддержку определенных API
SupportActivity это класс , который расширяет активность , что является Базовым классом для составления функциональных совместимости вместе
BaseFragmentActivityApi14 класс , который расширяет SupportActivity ,
что это базовый класс Он ограничен классом , но она распространяется на
BaseFragmentActivityApi16 для поддержки функциональности V14
BaseFragmentActivityApi16 это класс , который расширяет
BaseFragmentActivityApi14 , что является Базовым классом для {@code
FragmentActivity } , чтобы иметь возможность использовать V16 API. Но это также ограниченный класс, но он расширен FragmentActivity для поддержки функциональности V16.
сейчас FragmentActivty
FragmentActivity класс , который расширяет
BaseFragmentActivityApi16 и хочет использовать поддержку на основе фрагмента и Loader API.
При использовании этого класса , в отличие от новой платформы встроенного фрагмента и загрузчиком поддержки, вы должны использовать getSupportFragmentManager()
и getSupportLoaderManager()
методы соответственно для доступа к этим функциям.
ActionBarActivity является частью библиотеки поддержки. Библиотеки поддержки используются для предоставления новых функций на старых платформах. Например, ActionBar был представлен в API 11 и по умолчанию является частью Activity (в зависимости от темы). В отличие от этого нет ActionBar на старых платформах. Таким образом, библиотека поддержки добавляет дочерний класс Activity ( ActionBarActivity ), который обеспечивает функциональность ActionBar и пользовательский интерфейс.
В 2015 году ActionBarActivity устарела в редакции 22.1.0 библиотеки поддержки. Вместо этого следует использовать AppCompatActivity .
AppcompactActivity класс , который расширяет
FragmentActivity , что является базовым классом для деятельности , которые используют действие штриховых функции библиотеки поддержки.
Вы можете добавить ActionBar к своей деятельности при работе на уровне API 7 или выше, расширив этот класс для своей деятельности и установив тему деятельности на Theme.AppCompat
аналогичную тему.
Я имею в виду эти два один , два
FragmentActivity
. Вы только хозяинFragment
с. В новых версиях Android самActivity
класс был обновлен для непосредственного размещения их. Для поддержки старых версийFragmentActivity
была введена.