Se você falar sobre Activity
, AppcompactActivity
, ActionBarActivity
etc etc ..
Precisamos falar sobre as classes Base que elas estão estendendo. Primeiro, precisamos entender a hierarquia das super classes.
Todas as coisas são iniciadas no Contexto, que é uma super classe para todas essas classes.
O contexto é uma classe abstrata cuja implementação é fornecida pelo sistema Android. Permite acesso a recursos e classes específicos de aplicativos, bem como chamadas para operações no nível de aplicativos, como atividades de lançamento, transmissão e recebimento de intenções, etc.
Context
é seguido ou estendido por ContextWrapper
O ContextWrapper é uma classe que estende a classe Context que simplesmente delega todas as suas chamadas para outro Contexto. Pode ser subclassificado para modificar o comportamento sem alterar o contexto original.
Agora chegamos a Activity
A Activity é uma classe que estende o ContextThemeWrapper, que é uma coisa única e focada que o usuário pode fazer. Quase todas as atividades interagem com o usuário, portanto, a classe Activity cuida da criação de uma janela para você
As Classes abaixo são restritas a estender, mas elas são estendidas internamente por seu descendente e fornecem suporte para APIs específicas
O SupportActivity é uma classe que se estende Actividade que é uma base de dados de classe para compor funcionalidade compatibilidade juntos
O BaseFragmentActivityApi14 é uma classe que estende SupportActivity
que é uma classe Base. É uma classe restrita, mas é estendida por
BaseFragmentActivityApi16 para suportar a funcionalidade do V14
A
BaseFragmentActivityApi16 é uma classe que estende
BaseFragmentActivityApi14 que é uma classe Base para {@code
FragmentActivity } poder usar APIs v16 . Mas também é classe restrita, mas é estendida por FragmentActivity para suportar a funcionalidade da V16.
agora FragmentActivty
O FragmentActivity é uma classe que estende
BaseFragmentActivityApi16 e deseja usar as APIs de Fragment and Loader baseadas em suporte.
Ao usar essa classe, em oposição ao suporte integrado ao fragmento e carregador da nova plataforma, você deve usar os métodos getSupportFragmentManager()
e getSupportLoaderManager()
respectivamente para acessar esses recursos.
ActionBarActivity faz parte da Biblioteca de suporte. As bibliotecas de suporte são usadas para fornecer recursos mais recentes em plataformas mais antigas. Por exemplo, o ActionBar foi introduzido na API 11 e faz parte da atividade por padrão (dependendo do tema realmente). Por outro lado, não há ActionBar nas plataformas mais antigas. Portanto, a biblioteca de suporte adiciona uma classe filho de Atividade ( ActionBarActivity ) que fornece a funcionalidade e a interface do usuário da ActionBar.
Em 2015, o ActionBarActivity foi descontinuado na revisão 22.1.0 da Biblioteca de suporte. AppCompatActivity deve ser usado.
O AppcompactActivity é uma classe que estende
FragmentActivity que é a classe Base para atividades que usam os recursos da barra de ação da biblioteca de suporte.
Você pode adicionar um ActionBar à sua atividade ao executar na API nível 7 ou superior, estendendo esta classe para sua atividade e definindo o tema da atividade como Theme.AppCompat
ou um tema semelhante
Refiro esses dois um , dois
FragmentActivity
s. Você hospeda apenasFragment
s. Nas versões mais recentes do Android, aActivity
própria classe foi atualizada para hospedá-los diretamente. Para suportar versões mais antigasFragmentActivity
foi introduzido.