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 explicando o ciclo de vida de uma Activity
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.