No post passado vimos como lançar uma Activity a partir de outra, usando as funções startActivity() e startActivityForResult().
Hoje usaremos esta técnica para mostrar ao usuário uma tela de “Boas Vindas” na nossa aplicação de exemplo, o QuickNotes.
Para criar essa nova Activity, usaremos alguma funções do Motodev. Se você não está usando a IDE da Motorola, não tem problema – é só criar os arquivos manualmente. Porém recomendo o uso da IDE, por facilitar bastante a nossa vida.
Vamos começar criando a Activity que dará “Boas Vindas” ao usuário.
Vá até o menu “MOTODEV” >”New” > “New Android Activity”. Na tela de configuração, entre com o nome da Activity a ser criada:
Após clicar em “Finish”, já haverá a classe “WelcomeActivity” no diretório src do nosso projeto.
Com a Activity criada, o próximo passo é criar o arquivo XML que definirá o seu layout. Crie o arquivo ‘welcome.xml’ no diretorio res/layout com o seguinte conteúdo:
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/welcome_text_view" android:layout_width="fill_parent" android:layout_height="300dip" android:gravity="center" android:text="Bem vindo à aplicação QuickNotes!\n\nEssa aplicação foi feita durante o curso 'Desenvolvendo para Android' do site felipesilveira.com.br" > </TextView> <Button android:id="@+id/welcome_ok_button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Continuar" > </Button> </TableLayout>
Este arquivo XML define uma Activity com um texto e um botão logo abaixo, com a palavra “Continuar”.
Após criado o arquivo, vamos carregá-lo no método onCreate() da WelcomeActivity():
setContentView(R.layout.welcome);
Lançando a WelcomeActivity
Para lançar a WelcomeActivity a partir da MainActivity, usaremos a função startActivity(). Esta função recebe como parâmetro um Intent. Posteriormente iremos aprofundar nosso conhecimento sobre essa importante classe, mas por enquanto o que você precisa saber é que ela é usada para fazer a comunicação entre Activities.
No código abaixo instanciamos um Intent cuja única função é lançar a WelcomeActivity, e então o usamos como parâmetro para a startActivity.
Dessa forma, o código da MainActivity fica assim:
package br.com.felipesilveira.quicknotes; import android.app.Activity; import android.os.Bundle; import android.content.Intent; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent i = new Intent(this, WelcomeActivity.class); startActivity(i); } }
Tratando os eventos de um botão
Até agora, já temos a Activity secundária sendo lançada, mas o que deve acontecer quando o usuário clicar no botão “Continuar”?
A WelcomeActivity deve morrer – Dessa forma, a última Activity instanciada será mostrada novamente – que por sinal é a nossa MainAcitivity!
Para fazer isso, devemos adicionar um listener ao botão para que o método finish() seja invocado ao clique do usuário. O método finish() da classe Activity força a “morte” desta.
O código da WelcomeActivity fica assim:
package br.com.felipesilveira.quicknotes; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class WelcomeActivity extends Activity { /** * @see android.app.Activity#onCreate(Bundle) */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.welcome); final Button button = (Button) findViewById(R.id.welcome_ok_button); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { finish(); } }); } }
Executando nosso projeto, temos a seguinte tela:
Assim, finalizamos nossa Activity de “Boas Vindas”. Até o próximo artigo!

Olá, estou tendo uma certa dificuldade para baixar e instalar o Motodev. O site do Motodev Studio não está mais disponibilizando o download. Não sei o que fazer para instalá-lo. Se alguém puder ajudar, seria muito bom.
Oi Lucas,
O Moto dev foi descontinuado. Estou corrigindo o artigo para usar o Android Studio, nova ferramenta de desenvolvimento.
Oi, Felipe.
Primeiramente quero lhe parabenizar pelo tutorial. Excelente!
Estou exatamente neste post de criação de activity secundária. Gostaria de saber se tem previsão de disponibilização deste artigo atualizado, usando o Android Studio.
Olá Felipe,
Muito bom seus tutoriais.
Para acrescentar, neste de activity secundaria faltou mensionar que a segunda activity tem que declarar no AndroidManifest.xml.
No arquivo AndroidManifest.xml no elemento Application, declare sua activity nova, ex:
…
Até mais.
Um exemplo está no link abaixo, seção Create the activity without Android Studio:
http://developer.android.com/intl/pt-br/training/basics/firstapp/starting-activity.html
estou iniciando em android. estava testando seu codigo para fazeralgo porêm gostaria de saber se ao apertar o botão continuar era para ir para a Mainactivity. se era gostaria de saber o porque de não estar indo aqui?
estou aprendendo no android studio. nas versões anteriores, quando uma activity era criada, ela vinha com o relative layout. agora vem com o ConstraintLayout. preciso aprender como lidar com isso.