quarta-feira, 17 de julho de 2013

Especificando a ação de lançamento do seu aplicativo

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>

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);
   
}
}
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();
}

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