Blogger templates

Comunidade java aberto - Participe da nossa comunidade no facebook (clique aqui)

Visitas

terça-feira, 20 de novembro de 2012

Criando uma Activity secundária

,


No post passado vimos como lançar uma Activity a partir de outra, usando as funçõesstartActivity() 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:
Configurando a Activity a ser criada
Configurando a 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:
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3. android:layout_width="fill_parent"  
  4. android:layout_height="fill_parent"  
  5. >  
  6. <TextView android:id="@+id/welcome_text_view"  
  7. android:layout_width="fill_parent"  
  8. android:layout_height="300dip"  
  9. android:gravity="center"  
  10. android:text="Bem vindo à aplicação QuickNotes!\n\nEssa aplicação foi feita durante o curso  
  11. 'Desenvolvendo para Android' do site felipesilveira.com.br"  
  12. >  
  13. </TextView>  
  14. <Button  
  15. android:id="@+id/welcome_ok_button"  
  16. android:layout_width="fill_parent"  
  17. android:layout_height="wrap_content"  
  18. android:text="Continuar"  
  19. >  
  20. </Button>  
  21. </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():
  1. 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:
  1. package br.com.felipesilveira.quicknotes;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.content.Intent;  
  6.   
  7. public class MainActivity extends Activity {  
  8.     /** Called when the activity is first created. */  
  9.     @Override  
  10.     public void onCreate(Bundle savedInstanceState) {  
  11.         super.onCreate(savedInstanceState);  
  12.         setContentView(R.layout.main);  
  13.           
  14.         Intent i = new Intent(this, WelcomeActivity.class);  
  15.         startActivity(i);  
  16.      }  
  17. }  

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:
  1. package br.com.felipesilveira.quicknotes;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.widget.Button;  
  7.   
  8. public class WelcomeActivity extends Activity {  
  9.     /** 
  10.      * @see android.app.Activity#onCreate(Bundle) 
  11.      */  
  12.     @Override  
  13.     protected void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.welcome);  
  16.           
  17.         final Button button = (Button) findViewById(R.id.welcome_ok_button);  
  18.          
  19.         button.setOnClickListener(new View.OnClickListener() {  
  20.             public void onClick(View v) {  
  21.                 finish();  
  22.             }  
  23.         });  
  24.     }  
  25. }  
Executando nosso projeto, temos a seguinte tela:
WelcomeActivity sendo executada
WelcomeActivity sendo executada
Assim, finalizamos nossa Activity de “Boas Vindas”. 

0 comentários to “Criando uma Activity secundária”

Postar um comentário

Insira seu comentário

 

Java Aberto Copyright © 2011 -- Template created by O Pregador -- Powered by Blogger