Entendendo o ciclo de vida de uma aplicação Android

Nesse artigo iremos entender o funcionamento de uma das principais classes de uma aplicação Android. A classe Activity.

Neste artigo vamos conhecer uma das mais importantes classes de um aplicativo Android, a classe Activity. A classe Activity é quem gerencia a interface com o usuário, ela quem recebe as requisições, as trata e processa.

Diagrama: Ciclo de vida de uma Activity.

onCreate(): É a primeira função a ser executada em uma Activity. Geralmente é a responsável por carregar os layouts XML e outras operações de inicialização. É executada apenas uma vez.

onStart(): É chamada imediatamente após a onCreate() – e também quando uma Activity que estava em background volta a ter foco.

onResume(): Assim como a onStart(), é chamada na inicialização da Activity e também quando uma Activity volta a ter foco. Qual a diferença entre as duas? A onStart() só é chamada quando a Activity não estava mais visível e volta a ter o foco, a onResume() é chamada nas “retomadas de foco”.

onPause(): É a primeira função a ser invocada quando a Activity perde o foco (isso ocorre quando uma nova Activity é iniciada).

onStop(): Só é chamada quando a Activity fica completamente encoberta por outra Activity.

onDestroy(): A última função a ser executada. Depois dela, a Activity é considerada “morta” – ou seja, nao pode mais ser relançada. Se o usuário voltar a requisitar essa Activity, um novo objeto será contruído.

onRestart(): Chamada imediatamente antes da onStart(), quando uma Activity volta a ter o foco depois de estar em background.

Abaixo (Listagem 1) segue um exemplo de uma classe Activity:

import android.app.Activity; import android.os.Bundle; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class Hello extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Bem vindo!"); setContentView(tv); } }

Repare na listagem 1 que a classe Hello extende a classe Activity. Uma aplicação Android pode ter várias Activity´s, porém o usuário só interage com uma de cada vez. As inicializações e configurações da interface com o usuário devem ser feitas sempre no método onCreate(), pois ele é o primeiro método a ser executado quando a Activity é iniciada.

Abaixo (Listagem 2) segue o arquivo main.xml de nossa aplicação:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>

Abaixo (Listagem 3) segue a configuração do arquivo AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.apis" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name="org.example.android.hello.Hello" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

Abaixo (Listagem 4) segue a implementação do arquivo strings.xml:

<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Bem vindo</string> <string name="app_name">Hello</string> </resources>

Os arquivos main.xml, strings.xml e AndroidManifest.xml são gerados automaticamente pela IDE na criação do projeto. Para criar esse exemplo utilizei o Eclipse Helios com Android SDK.


Saiu na DevMedia!

  • Série Autenticação em Aplicações Web:
    Tornar algumas páginas acessíveis apenas a um grupo de usuários autenticados é uma tarefa trivial em aplicações web. Existem diferentes frameworks para isso, mas a maioria deles cobre desde o cadastro até as credenciais, passando pela autenticação e controle de acesso. Quer saber qual a lógica por trás dessas etapas?
  • React Native:do Hello World ao CRUD:
    React é um framework JavaScript criado pelo Facebook para facilitar a construção de interfaces de usuário. React Native, da mesma empresa, nos permite criar aplicações mobile nativas utilizando JavaScript, na lógica, e React, para estruturar as views.

Saiba mais sobre Android ;)

  • Preparando o ambiente para programar para Android:
    Neste curso você aprenderá a preparar seu ambiente para programar para Android. Veremos aqui o que é necessário instalar e como proceder para desenvolver aplicações para essa plataforma.
  • Curso de Android:
    Neste curso iremos aprender a fazer um aplicativo de signos no Android Studio. Criamos um exemplo de uma calculadora de signos utilizando orientação a objetos na linguagem Java contida na IDE e arquivos XML que representam a parte visual de nosso aplicativo.
  • Tutorial de Android Studio:
    Veja nesse artigo uma introdução à plataforma Android Studio para rodar seus primeiros códigos em Android.

Artigos relacionados