Programando Passo-a-Passo
Apresentação ..................................................................................................... 3
Introdução .......................................................................................................... 4
Usando Widgets............................................................................................... 18
Lista de atributos............................................................................................. 53
Conclusão ........................................................................................................ 58
2
Apresentação
Esta apostila tem por objetivo mostrar de modo fácil como programar na
nova plataforma para dispositivos móveis da Google (Android) usando o eclipse,
por meio de vários programas e exemplos bem explicados.
3
Introdução
http://code.google.com/android/download.html
http://www.eclipse.org/downloads/
Para saber se você possui uma Maquina virtual Java, entre no prompt de
comando de digite a seguinte linha:
java –version
4
http://java.sun.com/javase/downloads/index.jsp
5
Feito isso, clique no botão “New Local site” e indique o diretório do ADT
já descompactado no local onde você extraiu. Para ficar mais claro, dento do
diretório ADT existem dois diretórios __MACOSX e um outro chamado ADT-
x.x.x , selecione este. Feito isso, clique em “OK” e será exibida uma caixa de
diálogo conforme figura abaixo:
Na caixa de diálogo acima, basta clicar no botão “OK”. Pronto! O item foi
inserido, conforme a figura abaixo. Agora é só clicar em “Finish”.
6
Depois de clicar em “Finish” na tela acima, será mostrado uma nova tela
conforme figura abaixo.
7
Feito isso, clique no botão “Next”, e será exibida uma tela de licensa de
software. Nesta tela é só selecionar a opção “I accpet the terms in the license
agreement” e clique no botão “Next”. Na próxima tela, simplesmente clique no
botão “Finish” e na próxima tela, que é mostrada na figura abaixo, clique no
botão “Install All”.
8
Após instalar os plugins, será exibida uma mensagem, conforme a figura
abaixo, recomendando ao usuário que ele reinicie o eclipse. Simplesmente
clique no botão “Yes”.
9
Criando a nossa primeira aplicação em Android
Agora vamos criar um novo projeto Android indo no menu “File” / “New” /
“Other”. Selecion o projeto Android conforme figura abaixo. Depois de
selecionar, clique em “Next”:
Após clicar em “Next” na figura acima, será exibida uma tela conforme
figura abaixo. Vamos chamar o nosso projeto “Project name” de ProjetoAndroid.
Em “Package name” vamos digitar “com.android.hello”. Em Activity name
digitaremos “AppHello” e em “Application name” digitaremos “App Hello World”,
é só conferir na figura abaixo. Depois é só clicar em “Finish”.
10
Pronto! Nosso projeto foi criado. Em Package Explorer, vamos dar uma
olhada na estrutura do Projeto, simplesmente clicando no botão “+”. É só seguir
a figura abaixo, aproveite e abra o arquivo AppHello.java , também conforme
figura abaixo:
import android.app.Activity;
import android.os.Bundle;
11
Dentro da pasta ProjetoAndroid existe um diretório chamado “res”, onde
ficam armazenados todos os recursos utilizados pela aplicação. Dentro do
diretório “res” existem três diretórios, cada um deles com uma finalidade, que
descreverei agora:
- O diretório drawable armazena todas as imagens que irei utilizar na
minha aplicação. Por padrão , ele tem uma imagem chamada “Icon.png”, que é
usada como ícone da aplicação Android.
Observe que após o a primeira linha (prólogo xml), existe uma tag
chamada LinearLayout, responsável por organizar os componentes exibidos na
tela, por padrão os componentes são distribuídos na vertical pelo atributo
android:orientation="vertical".
Dentro desta tag, existe uma chamada TextView, que representa um texto
a ser exibido na tela , por padrão, ele irá exibir “Hello World, AppHello” atrvés do
atributo android:text="Hello World, AppHello".
- O diretório values armazena valores estáticos que podem ser utilizados por
um arquivo “.XML”. Normalmente esses valores estáticos devem ser
armazenados no arquivo “strings.xml”. Veja o código desse arquivo abaixo :
12
Dentro da pasta ProjetoAndroid, existe um arquivo chamado
“AndroidManifest.xml” , esse arquivo é o sistema nervoso de uma aplicação em
Android. É nele que ficam as definições referentes à aplicação. Veja o código
dele abaixo:
13
Feito isso, na propriedade name ao lado digite AppAndroid. Em project
selecione o projeto que criamos em clicando no botão Browse, com o nome de
ProjetoAndroid. E por último, em Activity, selecione a atividade
“com.android.hello.AppHello”. Qualquer dúvida, siga a figura abaixo:
Pra vocês que estão executando pela primeira vez o emulador do Android,
vê que o emulador é uma espécie de IPhone vermelho com umas teclas ao
lado. No início mostra o título Android. Depois, vem aquela bolinha vermelha
que fica batendo de um lado para outro, quando chega essa parte, normalmente
demora em torno de 2 a 10 minutos (dependendo da sua máquina. É
recomendável que você tenha no mínimo 512 MB de memória e um
14
processador bem rápido para um bom desempenho da execução) para a
aplicação ser exibida , mesmo sendo essa aplicação algo muito simples.
15
Esse emulador já vem com uma série de recursos como Navegador,
Aplicações de demonstração, Mapas, Lista de contatos e etc.
16
Feito isso, salve a aplicação e execute novamente a aplicação. O resultado
é mostrado abaixo:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Segunda Frase"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Terceira Frase???"
/>
</LinearLayout>
17
E aeh, ta entendo aos poucos como se faz aplicações Android ? Com
ceretza que sim! Agora vamos aprofundar um pouco e fazer aplicações mais
interessantes com o uso dos Widgets (componentes) existentes na plataforma
Android.
Usando Widgets
Vamos criar agora uma aplicação que faça uso de um desses widgets. Crie
um novo projeto Android com os seguintes dados:
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Digite o segundo número"
/>
<EditText
android:id="@+campo/num2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Resultado"
/>
<EditText
android:id="@+campo/res"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+botao/btmostrar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Mostrar"
/>
</LinearLayout>
19
O nome de um widget, deve estar nesse formato:
“@+<nome>/<nome>”
Abaixo dessa widget, temos outra do tipo TextView com o título “Digite o
segundo número”. Depois temos um outro widget do tipo EditText, cujo nome é:
“@+campo/num2”.
Por último, temos uma widget do tipo Button, cuja finalidade é mostrar um
botão para podermos clicá-lo. Ele possui um título com o valor “Mostrar” e seu
nome é: “@+botao/btmostrar”.
import android.os.Bundle;
Digite:
import android.widget.*;
import android.view.*;
Antes da linha:
@Override
Digite:
EditText ednum1,ednum2,edres;
setContentView(R.layout.main);
20
ednum1 = (EditText) findViewById(R.campo.num1);
ednum2 = (EditText) findViewById(R.campo.num2);
edres = (EditText) findViewById(R.campo.res);
Ah, se lembra o nome da primeira EditText que está no código XML? Ela
se chama “@+campo/num1”.
Como você pode ver, estou fazendo uso da classe R, que funciona como
interface entre o código Java e o arquivo XML.
Digite:
btMostrar.setOnClickListener(new View.OnClickListener(){
edres.setText(String.valueOf(res));
});
Toda vez que eu clicar no botão, ele irá mostrar o resultado na terceira
EditText referente ao resultado da soma. Ótimo! Vamos executar a nossa
21
aplicação ? Para executar faça os mesmos procedimentos que já mostrei. O
resultado da execução dessa aplicação você vê na figura abaixo:
A linha:
Cria uma variável chamada num1 e atribui a ela o valor que está contido
em num1. Eu faço uso do método parseDouble da classe Double pois o
conteúdo é uma String. Observem que chamo o método “getText” de ednum1
para retornar o conteúdo. Diferente de muitos métodos de retorno de String,
esse método “getText” não retorna uma String, mais sim um tipo chamado
“Editable”. Por isso, chamei o método toString de getText para que me
retornasse uma string. A descrição da próxima linha e a mesma.
A linha:
edres.setText(String.valueOf(res));
22
Beleza! Com esse conhecimento obtido até agora, você já tem capacidade
para fazer uma aplicação básica em Android.
Agora vamos fazer uma outra aplicação Android. Essa aplicação vai fazer
uso da widget CheckBox, que funciona como uma opção onde podemos marcar
e desmarcar. Nossa aplicação consiste em um simples sistemas de compras
onde possuo cinco produtos, Arroz (R$ 2,69) , Leite (R$ 5,00) , Carne (R$
10,00), Feijão (R$ 2,30) e Refrigerante coca-cola (R$ 2,00). Nessa aplicação eu
marco os itens que quero comprar e no final o sistema mostra o valor total das
compras.
Como havia dito, a gente vai fazer uso da CheckBox, a estrutura dela a
similar ao da EditText e TextView, conforme o código abaixo:
<CheckBox
android:id="@+campo/chkleite"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Leite"
/>
<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="Escolha o seu produto"
/>
<CheckBox
android:id="@+item/chkarroz"
23
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Arroz (R$ 2,69)"
/>
<CheckBox
android:id="@+item/chkleite"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Leite (R$ 5,00)"
/>
<CheckBox
android:id="@+item/chkcarne"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Carne (R$ 10,00)"
/>
<CheckBox
android:id="@+item/chkfeijao"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Feijão (R$ 2,30)"
/>
<CheckBox
android:id="@+item/chkcoca"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Refrigerante Coca-Cola (R$ 2,00)"
/>
<Button
android:id="@+botao/bttotal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Total da compra"
/>
</LinearLayout>
package com.android.appcompra;
import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;
CheckBox chkarroz,chkleite,chkcarne,chkfeijao,chkcoca;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
24
chkarroz = (CheckBox) findViewById(R.item.chkarroz);
chkleite = (CheckBox) findViewById(R.item.chkleite);
chkcarne = (CheckBox) findViewById(R.item.chkcarne);
chkfeijao = (CheckBox) findViewById(R.item.chkfeijao);
chkcoca = (CheckBox) findViewById(R.item.chkcoca);
bttotal.setOnClickListener(new View.OnClickListener(){
double total=0;
if(chkarroz.isChecked())
total += 2.69;
if(chkleite.isChecked())
total += 5.00;
if(chkcarne.isChecked())
total += 10.00;
if(chkfeijao.isChecked())
total += 2.30;
if(chkcoca.isChecked())
total += 2.00;
}
}
Descrevendo o código do evento click: Dentro do evento eu crio uma
variável chamada “total” que armazena o valor total da compra. Observe que eu
tenho cinco estruturas if’s onde cada uma verifica se um determinado item foi
marcado, se foi, incrementa o valor do item com o valor da variável “total”.
Observe que eu faço uso do método showAlert cuja finalidade é mostrar uma
mensagem na tela. A mensagem a ser mostrada é o valor total da compra.
25
Desenvolvendo uma aplicação de cálculo de salário
Bom, agora vamos fazer uma outra aplicação. Essa aplicação que vamos
desenvolver agora consiste em um sistema que vai ler o salário de um
funcionário e vai permitir que você escolha o seu percentual de aumento que
pode ser de 40% , 45% e 50% e no final o sistema irá mostrar o salário
reajustado com o novo aumento. Bom, vamos lá! Crie um novo projeto Android
com os seguintes dados:
<RadioButton
android:id="@+item/chkcoca"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Refrigerante Coca-Cola (R$ 2,00)"
/>
26
<?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="Escolha uma opção:"
/>
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+opcao/opcoes" >
<RadioButton
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Opcão 1"
/>
<RadioButton
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Opcão 2"
/>
</RadioGroup>
</LinearLayout>
27
Bom, agora vamos fazer a nossa aplicação. No arquivo main.xml, coloque
o código abaixo:
<EditText
android:id="@+campo/edsalario"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Qual será o percentual ?"
/>
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+opcao/rbopcoes"
>
<RadioButton
android:id="@+opcao/rb40"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="40%"
/>
<RadioButton
android:id="@+opcao/rb45"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="45%"
/>
<RadioButton
android:id="@+opcao/rb50"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="50%"
/>
</RadioGroup>
<Button
android:id="@+botao/btmostrar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Mostrar novo salário"
/>
</LinearLayout>
28
No arquivo AppSalario.java, coloque o código abaixo:
package com.android.appsal;
import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
btmostrar.setOnClickListener(new View.OnClickListener(){
salario =
Double.parseDouble(edsalario.getText().toString());
RadioGroup rg = (RadioGroup)
findViewById(R.opcao.rbopcoes);
int op = rg.getCheckedRadioButtonId();
if(op==R.opcao.rb40)
novo_sal = salario + (salario * 0.4);
else
if(op==R.opcao.rb45)
novo_sal = salario + (salario * 0.45);
else
novo_sal = salario + (salario * 0.5);
});
}
}
29
Vamos a explicação de alguns códigos interessantes. Dentro do evento
click, eu realizo o cálculo do novo salário do funcionário. Os primeiros códigos
do evento são similares a de programas anteriores que já foram devidamente
explicados. A linha:
int op = rg.getCheckedRadioButtonId();
Agora na condição:
if(op==R.opcao.rb40)
30
Desenvolvendo uma aplicação de lista telefônica
<ListView
android:id="@+id/lista"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
<ListView
android:id="@+id/lista"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
31
package com.android.applist;
import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.widget.AdapterView.OnItemClickListener;
import android.view.*;
lista.setOnItemClickListener(new OnItemClickListener(){
showAlert("Contato selecionado",0,lista.getSelectedItem().toString(),
"OK",false);
});
Cria uma constante chamada contatos, onde nela coloco alguns nomes.
Essa constante vai ser utilizada pela nossa lista. Para que eu posssa carregar
dos dados em uma ListView, preciso fazer uso da classe ArrayAdapter, como
mostra a instrução abaixo:
32
ArrayAdapter<String> adapter = new
ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,
contatos);
lista.setAdapter(adapter);
lista.setOnItemClickListener(new OnItemClickListener(){
showAlert("Contato selecionado",0,lista.getSelectedItem().toString(),
"OK",false);
});
showAlert("Contato
selecionado",0,lista.getSelectedItem().toString(),
"OK",false);
33
Desenvolvendo uma aplicação que visualiza imagens
<ImageView id="@+id/imagem"
android:src="@drawable/foto1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
Antes de codificar, quero que você coloque duas imagens JPEG (com a
extensão .jpg) dentro da pasta “res/drawable”. Um arquivo deve se chamar
foto1.jpg e o outro foto2.jpg. Para importar um arquivo, clique com o botão
direito do mouse e selecione “Import”, depois selecione File System. Clique no
botão browser para selecionar o diretório onde se encontram as imagens,
depois de selecionado, marque os dois arquivos (imagens) para que eles sejam
importados para a pasta “res/drawable” . Veja a figura abaixo:
34
Depois disso, é só clicar em “Finish”.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView android:id="@+id/imagem"
android:src="@drawable/foto1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Imagem: Foto 1"
android:id="@+label/label"
/>
</LinearLayout>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Exibir Foto 1"
android:id="@+botao/bt1"
35
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Exibir Foto 2"
android:id="@+botao/bt2"
/>
</LinearLayout>
package com.android.appimage;
import android.app.Activity;
import android.os.Bundle;
import android.view.*;
import android.widget.*;
imagem.setImageResource(R.drawable.foto1);
txt.setText("Imagem: Foto 1");
});
btfoto2.setOnClickListener(new View.OnClickListener(){
imagem.setImageResource(R.drawable.foto2);
txt.setText("Imagem: Foto 2");
});
36
}
}
imagem.setImageResource(R.drawable.foto1);
(Foto 1)
37
(Foto 2)
Mudando de layouts
38
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Você está na tela principal"
/>
<Button
android:id="@+botao/botao1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Ir para tela 2"
/>
</LinearLayout>
package com.android.applayout;
import android.app.Activity;
import android.os.Bundle;
import android.view.*;
import android.widget.*;
bt1.setOnClickListener(new View.OnClickListener(){
CarregaTela2();
39
}
});
bt2.setOnClickListener(new View.OnClickListener(){
CarregaTelaPrincipal();
});
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
CarregaTelaPrincipal();
}
}
40
(Tela Principal)
(Tela 2)
41
Desenvolvendo uma aplicação de cadastro
<ImageView android:id="@+id/imagebutton"
android:src="@drawable/profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
42
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bem vindo a aplicação de Cadastro de Pessoas. Este é
um pequeno programa de demonstração de cadastro. Selecione uma das
opções abaixo:"
/>
<Button android:id="@+id/btcadpess"
android:text="Cadastrar Pessoas"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button android:id="@+id/btlistpess"
android:text="Listar pessoas cadastradas"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<ImageView android:id="@+id/imagebutton"
android:src="@drawable/profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Módulo de cadastro. Cadastre seus dados abaixo:"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nome:"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Profissão:"
/>
43
<EditText android:id ="@+campo/profissao"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Idade:"
/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+cadastro/btcadastro"
android:text="Cadastrar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+cadastro/btvoltar"
android:text="Voltar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<ImageView android:id="@+id/imagebutton"
android:src="@drawable/profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:textSize="20sp"
android:textColor="#FFFFFF"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lista das pessoas cadastradas."
44
/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:textSize="20sp"
android:textColor="#FFFF00"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nome:"
/>
45
android:layout_height="wrap_content">
<Button
android:id="@+lista/btvoltar"
android:text="Voltar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+lista/btanterior"
android:text="Anterior"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+lista/btproximo"
android:text="Proximo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
package com.android.appcadastro;
import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;
EditText ednome,edprof,edidade;
int numreg,pos;
void CarregaTelaPrincipal () {
setContentView(R.layout.main);
btcadpess.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0){
CarregaTelaCadastro();
46
}});
btlistapess.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0){
CarregaListaPessoas();
}});
void CarregaTelaCadastro() {
setContentView(R.layout.cadastro);
btcadastrar.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0){
try {
ednome = (EditText)findViewById(R.campo.nome);
edprof = (EditText)findViewById(R.campo.profissao);
edidade = (EditText)findViewById(R.campo.idade);
reg.nome = ednome.getText().toString();
reg.profissao = edprof.getText().toString();
reg.idade = edidade.getText().toString();
if(pri==null)
pri=reg;
reg.Ant = ult;
if(ult==null)
ult=reg;
else {
ult.Prox = reg;
ult=reg;
}
numreg++;
}
catch(Exception e) {
}}
});
btvoltar.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0){
47
CarregaTelaPrincipal();
}
});
}
void CarregaListaPessoas() {
if(numreg==0) {
CarregaTelaPrincipal();
return;
}
setContentView(R.layout.listacadastrados);
pos=1;
aux=pri;
TextView fnome = (TextView)findViewById(R.field.nome);
TextView fidade = (TextView)findViewById(R.field.idade);
TextView fprof = (TextView)findViewById(R.field.profissao);
fnome.setText(aux.nome);
fidade.setText(aux.idade);
fprof.setText(aux.profissao);
btvoltar.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0){
CarregaTelaPrincipal();
}
});
btanterior.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0){
if(pos==1)
return;
pos--;
aux=aux.Ant;
TextView fnome = (TextView)findViewById(R.field.nome);
TextView fidade =
(TextView)findViewById(R.field.idade);
TextView fprof =
(TextView)findViewById(R.field.profissao);
fnome.setText(aux.nome);
fidade.setText(aux.idade);
fprof.setText(aux.profissao);
}
});
btproximo.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0){
if(pos==numreg)
return;
pos++;
48
aux=aux.Prox;
TextView fnome = (TextView)findViewById(R.field.nome);
TextView fidade =
(TextView)findViewById(R.field.idade);
TextView fprof =
(TextView)findViewById(R.field.profissao);
fnome.setText(aux.nome);
fidade.setText(aux.idade);
fprof.setText(aux.profissao);
}
});
}
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
numreg=0;
pri=ult=null;
CarregaTelaPrincipal();
}}
package com.android.appcadastro;
49
É com a utilização essas variáveis que faço o cadastro dos dados das
pessoas. Vamos para o evento click do botão btcadastrar situado dentro do
método CarregaTelaCadastro e analisar algumas linhas de código. A linha:
reg.nome = ednome.getText().toString();
reg.profissao = edprof.getText().toString();
reg.idade = edidade.getText().toString();
aux=pri;
fnome.setText(aux.nome);
fidade.setText(aux.idade);
fprof.setText(aux.profissao);
Vamos agora para o evento click do botão btanterior. Esse botão mostra os
registros anteriores. Antes de voltar um registro, verifico se eu me encontro no
primeiro registro pela condição:
if(pos==1)
aux=aux.Ant;
50
Já no evento click do botão btproximo, antes de passar para o próximo
registro, verifico se já está no último registro pela instrução:
if(pos==numreg)
aux=aux.Prox;
(Tela Principal)
51
(Tela de cadastro)
52
Lista de atributos
Exemplos:
XML
android:Text=”Hello World”
Java
texto.setText(“Hello World”)
Exemplos:
XML
android:textColor=”#FFFF00”
Java
texto.setTextColor(Color.YELLOW);
53
android:background: Essa propriedade serve para definir uma cor de
fundo.
Exemplos:
XML
android:background=”#FF0000”
Java
Exemplos:
XML
Java
Exemplos:
XML
54
android:numeric =”true”
Java
Exemplos:
XML
android:textStyle =”bold”
android:textStyle =”italic”
android:textStyle =”bold_italic”
Java
Exemplos:
XML
android:textSize =”10px”
android:textStyle =”20sp”
55
Java
Exemplos:
XML
android:typeface =”Arial”
Java
56
Métodos relacionados: setKeyListener(KeyListener Arg);
Exemplos:
XML
android:capitalize =”sentences”
Java
Métodos relacionados:
setKeyTransformationMethod(TransformationMethod arg);
Exemplos:
XML
android:password =”true”
Java
57
Conclusão
Abraços
58