Si se habla de Activity
, AppcompactActivity
, ActionBarActivity
etc, etc ..
Necesitamos hablar sobre las clases Base que están extendiendo. Primero tenemos que entender la jerarquía de las superclases.
Todas las cosas se inician desde Context, que es una superclase para todas estas clases.
El contexto es una clase abstracta cuya implementación es proporcionada por el sistema Android. Permite el acceso a recursos y clases específicos de la aplicación, así como llamadas para operaciones a nivel de aplicación, como actividades de lanzamiento, difusión y recepción de intenciones, etc.
Context
es seguido o extendido por ContextWrapper
El ContextWrapper es una clase que se extienden Contexto clase que simplemente delegados de todas sus llamadas a otro contexto. Se puede subclasificar para modificar el comportamiento sin cambiar el contexto original.
Ahora llegamos a Activity
La actividad es una clase que extiende ContextThemeWrapper que es una cosa única y enfocada que el usuario puede hacer. Casi todas las actividades interactúan con el usuario, por lo que la clase Actividad se encarga de crear una ventana para usted.
Las clases a continuación están restringidas para extenderse, pero su descendente las extiende internamente y brindan soporte para Api específicas
El SupportActivity es una clase que se extiende actividad que es una clase base para la composición de la funcionalidad de compatibilidad junto
El BaseFragmentActivityApi14 es una clase que se extiende SupportActivity
que es una clase base Se limita clase pero se extienden por
BaseFragmentActivityApi16 para apoyar la funcionalidad de V14
El
BaseFragmentActivityApi16 es una clase que se extiende
BaseFragmentActivityApi14 que es una clase base para {@code
FragmentActivity } para ser capaz de utilizar V16 APIs. Pero también es una clase restringida, pero FragmentActivity la extiende para admitir la funcionalidad de V16.
ahora FragmentActivty
El FragmentActivity es una clase que se extiende
BaseFragmentActivityApi16 y que quiere usar el basado en el apoyo Fragmento del cargador y APIs.
Al usar esta clase en lugar de la compatibilidad con el cargador y los fragmentos integrados de la nueva plataforma, debe usar los métodos getSupportFragmentManager()
y getSupportLoaderManager()
respectivamente para acceder a esas funciones.
ActionBarActivity es parte de la Biblioteca de soporte. Las bibliotecas de soporte se utilizan para ofrecer nuevas funciones en plataformas más antiguas. Por ejemplo, ActionBar se introdujo en API 11 y forma parte de la Actividad de forma predeterminada (dependiendo del tema en realidad). Por el contrario, no hay ActionBar en las plataformas más antiguas. Por lo tanto, la biblioteca de soporte agrega una clase secundaria de Actividad ( ActionBarActivity ) que proporciona la funcionalidad y la interfaz de usuario de ActionBar
En 2015, ActionBarActivity está en desuso en la revisión 22.1.0 de la Biblioteca de soporte. AppCompatActivity debería usarse en su lugar.
El AppcompactActivity es una clase que se extiende
FragmentActivity que es la clase base para las actividades que utilizan la biblioteca de soporte características de la barra de acción.
Puede agregar una barra de acción a su actividad cuando se ejecuta en el nivel de API 7 o superior extendiendo esta clase para su actividad y configurando el tema de actividad a Theme.AppCompat
un tema similar
Me refiero a estos dos uno , dos
FragmentActivity
ies. Usted solo alojaFragment
s. En las versiones más recientes de Android, laActivity
clase en sí se ha actualizado para alojarlas directamente. Para admitir versiones anterioresFragmentActivity
se introdujo.