Quando o usuário selecionar o ícone do aplicativo da tela inicial, o
sistema chama o método onCreate() para a Ação no seu aplicativo
que você declarou ser a ação de “lançamento” (ou “main”). Esta ação serve como
entrada principal para interface do usuário de seu aplicativo.
Você pode definir qual ação será usada como ação principal dentro do
arquivo de manifesto, AndroidManifest.xml,
que se encontra na raiz do seu diretório de projeto.
A ação principal do seu aplicativo deve ser declarada no manifesto com
um <intent-filter> que inclui a ação MAIN e a categoria LAUNCHER. Por exemplo:
<activity android:name=".MainActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Nota: Quando você cria um novo projeto Android com as ferramentas SDK do
Android, os arquivos para um projeto padrão incluem a classe Ação que está
declarada no manifesto com este filtro.
Se nem a ação MAIN ou a
categoria LAUNCHER forem declaradas
em suas ações, então o ícone do seu
aplicativo não irá aparecer na tela inicial de sua lista de aplicações.
Criando uma Nova Instancia
Maioria dos aplicativos inclui varias ações diferentes que permitem ao
usuário realizar diversas atividades. Quer uma ação seja a ação principal que
será criada quando o usuário clicar no ícone do seu aplicativo ou uma ação
diferente que seu aplicativo inicia em resposta a ação do usuário, o sistema
cria toda a nova instancia de Activity ao chamar o
método onCreate().
Você deve programar o método onCreate() para realizar
a lógica básica de inicio da aplicação que deve acontecer somente uma vez em
toda a sua vida de ação. Por exemplo, sua implementação de onCreate() deve definir
a interface de usuário e possibilitar algumas instancia para as variáveis da
classe escopo.
Por exemplo, o seguinte exemplo do método onCreate() mostra algum
código que realiza a configuração fundamental para a ação, tais como declarar a
interface do usuário (definida num arquivo XML de esboço), definir variáveis
membros, e configurar alguma interface.
TextView mTextView; // Member variable for text view in the layout
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the user interface layout for this Activity
// The layout file is defined in the project res/layout/main_activity.xml file
setContentView(R.layout.main_activity);
// Initialize member TextView so we can manipulate it later
mTextView = (TextView) findViewById(R.id.text_message);
// Make sure we're running on Honeycomb or higher to use ActionBar APIs
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// For the main activity, make sure the app icon in the action bar
// does not behave as a button
ActionBar actionBar = getActionBar();
actionBar.setHomeButtonEnabled(false);
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the user interface layout for this Activity
// The layout file is defined in the project res/layout/main_activity.xml file
setContentView(R.layout.main_activity);
// Initialize member TextView so we can manipulate it later
mTextView = (TextView) findViewById(R.id.text_message);
// Make sure we're running on Honeycomb or higher to use ActionBar APIs
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// For the main activity, make sure the app icon in the action bar
// does not behave as a button
ActionBar actionBar = getActionBar();
actionBar.setHomeButtonEnabled(false);
}
}
Atenção: Usando o SDK_INT para prevenir
velhos sistemas de executar novos trabalhos de APIs desta maneira no Android
2.0 (API nível 5) e somente superiores. Antigas versões irão encontrar uma exceção
ao rodar.
Uma vez que onCreate() finalize a
execução, o sistema chama os métodos onStart() e onResume() em rápida sucessão.
Sua ação nunca reside nos estados Criar ou Iniciar. Tecnicamente, a ação se
torna visível para o usuário quando onStart() é chamado,
mas onResume() rapidamente
se segue e a ação permanece no estado Retomado até algo ocorrer que altere
isto, como quando uma chamada de telefone é recebida, usuário navega para outra
ação ou a tela do dispositivo desliga.
Em outras lições que seguiram, você vera como os outros métodos para
iniciar, onStart() e onResume(), são uteis durante a vida útil da
ação quando usados na retomada da ação dos estados Suspenso e Parado.
Nota: O método onCreate() inclui o parâmetro
nomeado savedInstanceState que será discutida
em uma lição posterior sobre Recriando uma ação.
Figura. Outra ilustração da estrutura de vida
útil da ação com ênfase nas três principais retornos de chamada que o sistema
chama em sequencia quando cria uma nova instancia de ação: onCreate(), onStart(), e onResume(). Uma vez que esta sequencia de
retornos de chamada se complete , a ação alcança o estado Retomado aonde os usuários
podem interagir com a ação até ela trocar para ação diferente.
Destruindo a Ação
Enquanto que o primeiro ciclo da chamada de retorno da ação é onCreate(), sua ultima chamada é onDestroy(). O sistema chama este método na sua
ação como o sinal final de que sua instancia de ação está sendo completamente
removida da memória do sistema.
Maioria dos aplicativos não precisa programar este método por causa das
referencias locais de classe são destruídas com a ação quando sua ação deve
realizar o grande da limpeza durante onPause() e onStop(). De qualquer forma, se sua ação
inclui processamento em segundo plano que você criou durante onCreate() ou outro
recurso de longa execução que pode potencialmente causar vazamentos de memória se
não for apropriadamente fechados, você deve matar este durante onDestroy().
@Override
public void onDestroy() {
super.onDestroy(); // Always call the superclass
// Stop method tracing that the activity started during onCreate()
android.os.Debug.stopMethodTracing();
}
public void onDestroy() {
super.onDestroy(); // Always call the superclass
// Stop method tracing that the activity started during onCreate()
android.os.Debug.stopMethodTracing();
}
Nota: O sistema chama onDestroy() depois de já
ter chamado onPause() e onStop() em todas as
situações, exceto quando: você chama finish() de dentro do método
onCreate(). Em alguns casos, como quando sua
ação opera como um fazedor temporário de decisões para lançar outra ação, você pode
chamar finish() de dentro do método onCreate() para destruir
a ação. Neste caso, o sistema imediatamente chama onDestroy() sem chamar
qualquer dos outros métodos de vida util.

Nenhum comentário:
Postar um comentário