quarta-feira, 25 de abril de 2012

Android: Passagem de parâmetros entre Activities(Telas)

Neste artigo irei demonstrar a passagem de parâmetros entre duas Activities(Telas). No post anterior utilizamos o método startActivity(intent) para navegar entre as telas da aplicação.

Irei criar uma aplicação básica como exemplo para demostrar a passagem de parâmetros entre Telas. Na primeira tela terá um campo para receber um texto e um botão que ao clicar passará o valor para a segunda tela.
  1. Crie um novo Projeto com o nome "PassagemParametros".
  2. Na Primeira Activity "PassagemParametros.java" será a nossa primeira Tela.

  3. Para passar parâmetros se usa a classe android.os.Bundle e o método putExtras(Bundle) na intent que será passado como parâmetro para a próxima tela.
    O método putString(chave, valor) utilizei uma String como parâmetro, mas poderia ter usado putInt no caso o valor ser um integer. A classe Bundle tem métodos para diferentes tipos primitivos como o putBoolean, putChar, putFloat e vários outros. A variável "valor" recupera o texto da EditText do "campoTexto" utilizando os métodos "getText" e "toString".

    Ao executar vejamos como ficou:

  4. Agora irei criar a segunda Activity "SegundaTela.java" que receberá o valor da primeira tela.
    O método getIntent() recupera os parâmetros enviados. Depois de recuperada o método getExtras() retorna o mesmo bundle criado para enviar os parâmetros.
    Para ler os parâmetros passados pelo bundle basta chamar o método getString e passar o parâmetro String "mensagem" da activity anterior.
    Ao executar novamente vejamos como ficou:

    Até a próxima, espero que tenham gostado.

quinta-feira, 12 de abril de 2012

Android - Criando Múltiplas Activities

No post anterior vimos sobre o ciclo de vida de uma Activity, e hoje iremos aprender como criar múltiplas Activities(Telas).

Exemplo: Iremos criar duas activities. A classe “Exemplo1” é a activity(atividade) principal do projeto e a classe "Exemplo2" que será chamada pela primeira tela. A primeira atividade é simplesmente um botão, que quando clicado abre a segunda atividade, que por sua vez consiste em um simples campo de texto editável. Ela não precisa de um botão "Sair", pois o usuário pode simplesmente clicar no botão "Voltar" do emulador . Para simplificar não iremos usar o arquivo de layout XML para criar a nossa tela. Iremos criar dentro da classe Activity.

Crie um projeto com o nome “ExemploActivity” ou dê o nome que achar melhor e quando chegar na etapa abaixo, segue o exemplo.

Quando você cria um novo projeto o campo “Create Activity” vem checado e cria a classe Activity, então não deixamos checado. 

Depois do projeto criado, iremos criar a nossa primeira classe. Clique com o botão direito em cima do pacote que o meu é “br.com.juliana” vai em “New/Class” e no campo “name” dê o nome de "Exemplo1".


A chamada para iniciar a segunda atividade ocorre no método "handleButtonClick()".
startActivity(new Intent(this, Exemplo2.class));

Depois crie uma outra classe chamada “Exemplo2” como segue abaixo:




No arquivo AndroidManifest.xml

No código acima, eu declarei as duas Activities “Exemplo1” e “Exemplo2”. Toda vez que criar uma nova atividade é preciso que declare no arquivo “AndroidManifest.xml”.

Vamos executar a nossa aplicação para ver o resultado:

Ao clicar no botão irá chamar a segunda tela(activity):

Então pessoal por hoje é só, espero que tenham gostado. Caso ficaram com dúvida é só comentar. Ate +.

quarta-feira, 11 de abril de 2012

Android: Activity - Ciclo de Vida

Entender o que é um ciclo de vida de uma Activity é fundamental para a criação de uma aplicação mais robusta. Caso sua aplicação é interrompida por uma ligação, e como sua aplicação irá se comportar após sua ligação for finalizada. Após está interrupção, teria que voltar ao mesmo ponto onde sua aplicação parou. Então precisamos entender cada ciclo de vida de uma Activity.


O diagrama a seguir mostra os caminhos importantes de uma Activity e seu ciclo de vida.

Abaixo iremos ver os métodos que controlam os estados da sua aplicação.
  • onCreate() É a primeira função a ser executada quando uma Activity é lançada. Geralmente é a responsável por carregar os layouts XML e outras operações de inicialização. É executada somente uma vez durante a “vida útil” da Activity.
  • 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 (logo após a própria onStart())  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 na tela e volta a ter o foco, enquanto a onResume() sempre é chamada nas “retomadas de foco”.
  • onPause() É a primeira função a ser invocada quando a Activity perde o foco (ou seja, uma outra Activity vem à frente).
  • onStop()Análoga à onPause(), só é chamada quando a Activity fica completamente encoberta por outra Activity (não é mais visível).
  • 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, outro objeto será contruído.
  • onRestart() Chamada imediatamente antes da onStart(), quando uma Activity volta a ter o foco depois de estar em background.

Segue um exemplo de como ocorre um ciclo de vida de uma Activity. Cada método mostra no Log quando cada um foi executado.

Crie um novo projeto e cole o código em sua Classe Activity gerada.

Execute a aplicação e visualize o Log.
Para visualizar as mensagens do Log, vá em “Window/Show View/Other/LogCat”.

1 - Ao executar sua aplicação observe que no Log mostrou:


2 - Depois disso clique no botão voltar do emulador e veja novamente o Log:


3 - Clique novamente na sua aplicação:


  1. Note que na 1° etapa os métodos onCreate e onResume foram criados.
  2. Depois na 2° etapa os métodos passaram para onPause, onStop e onDestroy.
  3. E quando voltou novamente na sua aplicação chamou os métodos onCreate e onResume.

Hoje vimos detalhes sobre o ciclo de vida de uma Activity. No próximo post será Criando mais que uma Activities. Até +.

quinta-feira, 5 de abril de 2012

Android: Conceito de uma Activity

Aqui no blog você já aprendeu como instalar e configurar o SDK Android no Eclipse e criar o seu primeiro projeto Android  e agora iremos aprender mais sobre a classe Activity que usamos em nosso projeto inicial.

O que seria uma Activity?

Uma activity é um componente chave do Android. É basicamente uma classe gerenciadora de UI (interface com o Usuário). Para ter uma interação com a interface de usuário, uma classe deve ser herdada de uma Activity. Todo aplicativo android começa por uma Activity.
Exemplo de uma Activity

Registrando Activity no arquivo AndroidManifest.xml

Após criar uma classe é necessário registrar a Activity para que o Android precise saber quais classes são atividades. Para registar uma Activity, abra o arquivo AndroidManifest.xml, e incluir o registro da Activity.

Ou seja, quando uma aplicação android é executada, na verdade é a sua Activity principal que é lançada. A activity é definida como padrão na criação do projeto quando é lançada.

Hoje vimos detalhes sobre a classe Activity. No próximo post iremos aprender sobre o ciclo de vida de uma Activity. Espero que tenham gostado. Até +.