3 - Processando a resposta
O processamento é um raciocínio meramente algorítmico. Temos que criar um número aleatório e verificar se é ímpar ou par.:
- int numero = (new Random()).nextInt(50);
- int resultado = numero % 2;
A variável "numero" recebe um número aleatório criado pelo método nextInt (cujo parâmetro é o número máximo somado de 1, desde 0, que poderá ser sorteado, ou seja, nextInt(50) é um número entre 0 e 50, excluindo o 50) e que precisa da importação de java.util.Random, a própria IDE deve reclamar disso, pondo um ponto de erro na linha e uma sugestão de correção com a importação.
- import java.util.Random;
Este código vai na MainActivity.java, conforme explicado no post anterior.
4 - Exibindo a resposta modificando a interface
Usando uma interface simples, vamos alterar o texto "Hello World!" para "Cara" ou "Coroa", se a variável "resultado" for igual a 1 ou 0, respectivamente (ou vice-versa). Para alterar o conteúdo, é preciso armazenar o "ID" do elemento da interface usando o método findViewById. O código fica o seguinte:
- /** Chamado ao pressionar OK */
- public void processar(View view) {
- TextView editText = (TextView) findViewById(R.id.textView1);
- String mensagem = editText.getText().toString();
- int numero = (new Random()).nextInt(50);
- int resultado = numero % 2;
- if(resultado == 0){
- mensagem = "Cara";
- }
- else{
- mensagem = "Coroa";
- }
- editText.setText(mensagem);
- }
A variável "mensagem" é iniciada com o conteúdo "Hello World!" só para aproveitar o código do último post. Poderia ser vazia. A "editText" identifica o elemento (como um form) que contém o texto e possui um método para alterar o texto desse elemento, que é usado na última linha, o setText().
Vamos aprimorar a interface e, em vez de mostrar o resultado com texto, vamos mostrar uma moedinha mesmo (sem animações, só a figura mesmo, mais informações sobre figuras no site do Android Developer).
Primeiro, você deverá trazer suas figuras de cara e coroa para o acervo de imagens. Para isso, copie as imagens desejadas e, no Eclipse, na pasta res/drawable-hdpi (pode ser também mdpi ou ldpi, vi aqui), clique com o botão direito e cole. Atenção ao tamanho das figuras, que deve ser pequeno. Para mais informações, existe uma série de explicações no Android Developer. Quanto à extensão, consegui com .gif e com .png como pode ser visto na figura abaixo.
![]() |
| ic_action_cara.png foi uma tentativa frustrada de carregar a imagem pelo Create New Icon do Eclipse. Só consegui mesmo copiando e colando na pasta drawable |
No MainActivity.java, antes do if que avalia o resultado, crie um objeto para receber a imagem padrão.
- ImageView imagem = (ImageView) findViewById(R.id.imageView1);
Dentro do correspondente if/else, mude o conteúdo do objeto para a imagem de cara ou de coroa:
- imagem.setImageResource(R.drawable.nome_arquivo_cara_ou_coroa); //OBS: Sem o .png
O método fica, então:
- /** Chamado ao pressionar OK */
- public void processar(View view) {
- TextView editText = (TextView) findViewById(R.id.textView1);
- String mensagem = editText.getText().toString();
- ImageView imagem = (ImageView) findViewById(R.id.imageView1);
- int numero = (new Random()).nextInt(50);
- int resultado = numero % 2;
- if(resultado == 0){
- mensagem = "Cara";
- imagem.setImageResource(R.drawable.cara);
- }
- else{
- mensagem = "Coroa";
- imagem.setImageResource(R.drawable.coroa);
- }
- editText.setText(mensagem);
- }
Resultado:
![]() |
| Tela Inicial |
![]() |
| Apresentação do resultado |
5 - Instalando o aplicativo no celular
No Eclipse, na esquerda, onde ele mostra os diretórios, vá em bin/res e copie o caraCoroa.apk (ou o nome que você deu a seu projeto) para o celular. Abra-o no celular e instale.
Fontes de Consulta:
Stack Overflow
Mkyong.com


