+ Treinamento em Android. + 5. Criando aplicações Android.

74
+ Treinamento em Android

Transcript of + Treinamento em Android. + 5. Criando aplicações Android.

Page 1: + Treinamento em Android. + 5. Criando aplicações Android.

+

Treinamento em Android

Page 2: + Treinamento em Android. + 5. Criando aplicações Android.

+5. Criando aplicações Android

Page 3: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que soma números

Project Name: SomaNumeros

Package Name: br.org.citi.appsoma

Create Activity: SomaActivity

Application Name: Soma Números

Build SDK: 16

Page 4: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que soma números

Page 5: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que soma números

res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?><resources>

<string name="hello">Digite o primeiro número:</string> <string name="app_name">Soma Números</string> <string name="text2">Digite o segundo número:</string><string name="labelSomar">Somar</string> </resources>

Page 6: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que soma números

AppSomaNumeros.java

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

ednumero1 = (EditText) findViewById(R.id.numero1);ednumero2 = (EditText) findViewById(R.id.numero2);

Button btsomar = (Button) findViewById(R.id.btsomar);

Page 7: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que soma números

btsomar.setOnClickListener(new View.OnClickListener(){

public void onClick(View arg0) { double num1 = Double.parseDouble(

ednumero1.getText().toString()); double num2 = Double.parseDouble(

ednumero2.getText().toString()); double res = num1 + num2;

}});

Page 8: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que soma números

AlertDialog.Builder dialogo = new AlertDialog.Builder(AppSomaNumeros.this);

dialogo.setTitle("Aviso"); dialogo.setMessage("Soma:" + res); dialogo.setNeutralButton("OK", null); dialogo.show();

} });}

Page 9: + Treinamento em Android. + 5. Criando aplicações Android.

+Melhorando!

Transforme essa aplicação em uma calculadora de dois números. 4 operações; Crie um método para cada operação; Informe a operação que foi realizada no título do Alert que vai ser

exibido.

Page 10: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de compras

Project Name: AppCompras

Package Name: br.org.citi.appcompras

Create Activity: ComprasActivity

Application Name: Compras

Build SDK: 16

Page 11: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de compras

Dicas e Lembretes: As labels que acompanham os widgets devem ser declaradas no

arquivo res/values/strings.xml; A propriedade chave para esse aplicação é a “isChecked()”;

Page 12: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de compras

No arquivo activity_main.xml, adicionaremos os seguintes elementos, em ordem:

CheckBoxText: Arroz (R$ 2,69)Id: @+id/chkArroz

CheckBoxText: Leite (R$ 5,00)Id: @+id/chkLeite

CheckBoxText: Carne (R$ 9,70)Id: @+id/chkCarne

CheckBoxText: Feijão (R$ 2,30)Id: @+id/chkFeijao

ButtonText: Total das comprasId: @+id/bTotalLayout width: fill_parent

Page 13: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de compras

AppSistemaCompras.java

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);setContentView(R.layout.main);chkarroz = (CheckBox)

findViewById(R.id.chkArroz);chkleite = (CheckBox)

findViewById(R.id.chkLeite);chkcarne = (CheckBox)

findViewById(R.id.chkCarne);chkfeijao = (CheckBox)

findViewById(R.id.chkFeijao);Button bttotal = (Button)

findViewById(R.id.bTotal);

Page 14: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de compras

bttotal.setOnClickListener(newView.OnClickListener(){

public void onClick(View arg0) {double total =0;if(chkarroz.isChecked())

total += 2.69;if(chkleite.isChecked())

total += 5.00;if(chkcarne.isChecked())

total += 9.7;if(chkfeijao.isChecked())

total += 2.30;}//Código que exibe o alerta

Page 15: + Treinamento em Android. + 5. Criando aplicações Android.

+Melhorando!

Implemente uma função de carrinho de compras: À medida que o botão for clicado, a aplicação deve somar os

valores e exibir em um texto;

Page 16: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cálculo de salário v1.0

Project Name: AppSalario

Package Name: br.org.citi.appsalario

Create Activity: SalarioActivity

Application Name: Cálculo de Salário

Build SDK: 16

Page 17: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cálculo de salário v.1.0

Page 18: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cálculo de salário v1.0

Para essa primeira versão, usaremos RadioGroup e RadioButton;

res/layout/main.xml:

EditTextid: “@+id/edsalario”;layout_width: “fill_parent”.

TextViewtext: “Qual é o seu

percentual ?”RadioGroup

layout_width:”fill_parent”;id: “@+id/rgopcoes”.

Page 19: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cálculo de salário v1.0

Dentro da tag RadioGroup, insira os elementos abaixo, do tipo RadioButton:

RadioButtontext: “40%”id “@+id/rb40”RadioButtontext: “45%”id: “@+id/rb45”RadioButtontext: “50%”id: “@+id/rb50”

Buttontext: “Calcular novo salário”id: “@+id/btcalcular”layout_width: “fill_parent”

Insira também o botão:

Page 20: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cálculo de salário v1.0

AppCalculaSalario.javapublic void onCreate(Bundle savedInstanceState)

{super.onCreate(savedInstanceState);setContentView(R.layout.main);

Button btcalcular = (Button)findViewById(R.id.btcalcular);

btcalcular.setOnClickListener(newView.OnClickListener(){

public void onClick(View arg0) {double salario, novo_sal;EditText edsalario = (EditText)

findViewById(R.id.edsalario);

Page 21: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cálculo de salário v1.0

salario = Double.parseDouble(edsalario.getText().toString());

RadioGroup rg = (RadioGroup)

findViewById(R.id.rgopcoes);int op = rg.getCheckedRadioButtonId();if(op==R.id.rb40)

novo_sal = salario + (salario * 0.4);else

if(op==R.id.rb45)novo_sal = salario +

(salario * 0.45);else

novo_sal = salario + (salario * 0.5);

//Código que exibe o alerta

Page 22: + Treinamento em Android. + 5. Criando aplicações Android.

+Melhorando!

Nem todas as pessoas podem saber o valor do salário! Adicione um campo para o usuário informar uma senha para

acesso; Se a senha estiver incorreta ou o campo estiver vazio, exiba um

alerta informando o mesmo ao usuário; Ao exibir o resultado, limpe os campos de texto e selecione o

primeiro RadioButton.

Page 23: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cálculo de salário v1.1

Project Name: AppSalarioSpinner

Package Name: br.org.citi.appsalariospinner

Create Activity: SalarioSpinnerActivity

Application Name: Cálculo Salário v2

Build SDK: 16

Page 24: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cálculo de salário v1.1

Page 25: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cálculo de salário v1.1

res/layout/main.xml Semelhante ao anterior, apenas trocando o RadioGroup pelo

Spinner:

Spinner:ld: “@+id/spnopcoes”layout_width: “fill_parent”

Page 26: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cálculo de salário v1.1

AppCalculaSalario.java

private static final String[] percentual ={"De 40%","De 45%","De 50%"};

ArrayAdapter<String> aPercentual;Spinner spnsal;public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);setContentView(R.layout.main);Button btmostrar = (Button)

findViewById(R.id.btcalcular);aPercentual = new ArrayAdapter<String>(this,

android.R.layout.simple_spinner_item,percentual);spnsal = (Spinner) findViewById(R.id.spnopcoes);spnsal.setAdapter(aPercentual);

Page 27: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cálculo de salário v1.1

btmostrar.setOnClickListener(new View.OnClickListener(){public void onClick(View arg0) {

double salario=0, novo_sal = 0;EditText edsalario = (EditText)

findViewById(R.id.edsalario);salario =

Double.parseDouble(edsalario.getText().toString());switch(spnsal.getSelectedItemPosition())

{case 0: novo_sal = salario + (salario *

0.4); break;case 1: novo_sal = salario + (salario *

0.45); break;case 2: novo_sal = salario + (salario *

0.5); break; }//Código para exibir o alerta

Page 28: + Treinamento em Android. + 5. Criando aplicações Android.

+Melhorando!

Adicione o controle de bonificações de acordo com os cargos listados abaixo: Funcionário: 10%, 15%, 20%; Gerente: 20%, 25%, 30%; Diretor: 30%, 35% 40%;

Utiliza DOIS Spinners, onde o segundo só apareça depois que um elemento do primeiro for selecionado!

Verificar se o cargo está escolhido ao clicar no botão!

Page 29: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de lista telefônica

Project Name: AppLista

Package Name: br.org.citi.applista

Create Activity: MainActivity

Application Name: Lista Telefônica

Build SDK: 16

Page 30: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de lista telefônica

Page 31: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de lista telefônica

No arquivo main.xml, adicionaremos o elemento:

ListViewid: “@+id/lstcontatos”layout_width: “fill_parent”

Page 32: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de lista telefônica

AppLista.java

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);setContentView(R.layout.main);ArrayAdapter<String> adapter = new

ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, contatos);

lista = (ListView)findViewById(R.id.lstcontatos);

lista.setAdapter(adapter);

Page 33: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de lista telefônica

lista.setOnItemClickListener(newOnItemClickListener(){

public void onItemClick(AdapterView parent, View view, int position, long id) {

AlertDialog.Builder dialogo = new

AlertDialog.Builder(AppLista.this);dialogo.setTitle("Contato

selecionado");dialogo.setMessage(((TextView)

view).getText().toString());dialogo.setNeutralButton("OK",

null);dialogo.show();

}});

Page 34: + Treinamento em Android. + 5. Criando aplicações Android.

+Desafio!

Altere a aplicação para suportar as seguintes funções: Inserir um contato, exibindo um alerta confirmando a

operação; Remover um contato ao clicar no mesmo, exibindo

ainda um alerta confirmando a operação;

Page 35: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.0

Project Name: AppImagem

Package Name: br.org.citi.appimagem

Create Activity: MainActivity

Application Name: Visualizador de Imagens

Build SDK: 16

Page 36: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens

Page 37: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.0

Dentro de res/drawable-mdpi: coala.jpg; farol.jpg;

Adicionaremos também um LinearLayout do tipo Horizontal DENTRO do Layout padrão, que contém um objeto ImageView.

Page 38: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.0

Ao adicionar os elementos pelo Graphical Layout, altere as propriedades para ficarem como estão abaixo:

<LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" >

<ImageView android:id="@+id/imagem" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/coala" />

</LinearLayout>

Page 39: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.0

No arquivo main.xml, adicionaremos os elementos em ordem:

TextViewid: “@+id/txtinfo”

text: “Foto 1” Button1id: “@+id/btimagem1”text: “Exibir foto 1”layout_width: “fill_parent”Button2id: “@+id/btimagem2”text: “Exibir foto 2”layout_width: “fill_parent”

Page 40: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.0

AppImage.javapublic void onCreate(Bundle savedInstanceState)

{super.onCreate(savedInstanceState);setContentView(R.layout.main);//Pega as referências de todos os componentes da

telaButton btfoto1 = (Button)

findViewById(R.id.btimagem1);Button btfoto2 = (Button)

findViewById(R.id.btimagem2);imagem = (ImageView)

findViewById(R.id.imagem);txt = (TextView)

findViewById(R.id.txtinfo);

Page 41: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.0

btfoto1.setOnClickListener(newView.OnClickListener(){

public void onClick(View arg0) {

imagem.setImageResource(R.drawable.coala);txt.setText("Foto 1");

}});btfoto2.setOnClickListener(new

View.OnClickListener(){public void onClick(View arg0) {

imagem.setImageResource(R.drawable.farol);txt.setText("Foto 2");

}});

}

Page 42: + Treinamento em Android. + 5. Criando aplicações Android.

+Melhorando!

Coloque mais 3 imagens na pasta res/drawable-mdpi;

Faça a seleção das mesmas através de um Spinner;

Dê a possibilidade do usuário editar o nome dessa imagem, que possui um valor default; Imagem 1, Imagem 2,...

Page 43: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.1

Project Name: AppGaleria

Package Name: br.org.citi.appgaleria

Create Activity: MainActivity

Application Name: Galeria de Imagens

Build SDK: 16

Page 44: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.1

Page 45: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.1

No arquivo main.xml, adicionaremos o elemento:

Para essa aplicação, criaremos uma classe auxiliar: ImageAdapter.

Galleryid: “@+id/gallery”layout_width: “fill_parent”

Page 46: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.1

ImageAdapter.javapackage br.ufpe.cin.android.appgallery; import android.content.Context;import android.view.*;import android.widget.*;public class ImageAdapter extends BaseAdapter {

private Context myContext;private int[] myImageIds = {

R.drawable.coala,R.drawable.farol,R.drawable.pinguins,

};public ImageAdapter(Context c) { this.myContext = c; }

Page 47: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.1

public int getCount() { return this.myImageIds.length; }public Object getItem(int position) { return position; }public long getItemId(int position) { return position; }

public View getView(int position, ViewconvertView, ViewGroup parent) {

ImageView i = new ImageView(this.myContext);i.setImageResource(this.myImageIds[position]);i.setScaleType(ImageView.ScaleType.FIT_XY);i.setLayoutParams(new Gallery.LayoutParams(150,

150));return i;

}

public float getScale(boolean focused, int offset) {return Math.max(0, 1.0f /

(float)Math.pow(2, Math.abs(offset)));

}}

Page 48: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação que visualiza imagens v1.0

AppGallery.javapublic void onCreate(Bundle

savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);((Gallery)

findViewById(R.id.gallery)).setAdapter(new

ImageAdapter(this));}

Page 49: + Treinamento em Android. + 5. Criando aplicações Android.

+Melhorando!

Coloque, na aplicação, outra galeria, e implemente dois botões que trocam as imagens de galeria

Page 50: + Treinamento em Android. + 5. Criando aplicações Android.

+Mudança de Layout

Project Name: AppLayouts

Package Name: br.org.citi.applayouts

Create Activity: MainActivity

Application Name: Visualizador de Imagens

Build SDK: 16

Page 51: + Treinamento em Android. + 5. Criando aplicações Android.

+Mudança de Layout

Page 52: + Treinamento em Android. + 5. Criando aplicações Android.

+Mudança de Layout

No arquivo main.xml, adicionaremos o elemento:

Button:id: “@+id/bttela2”layout_width: “fill_parent”text: “Ir pata tela 2”

Crie um arquivo “tela2.xml” na pasta res/layout e adicione os seguintes elementos:TextView

text: “Você está na tela 2”Buttonid: “@+id/bttelaprincipal”layout_width: “fill_parent”text: “Ir pata tela principal”

Page 53: + Treinamento em Android. + 5. Criando aplicações Android.

+Mudança de Layout

AppLayout.java

public void CarregaTelaPrincipal() {setContentView(R.layout.main);Button bttela2 = (Button)

findViewById(R.id.bttela2);bttela2.setOnClickListener(new

View.OnClickListener(){public void onClick(View arg0) {

CarregaTela2();}

});}

Page 54: + Treinamento em Android. + 5. Criando aplicações Android.

+Mudança de Layout

public void CarregaTela2() {setContentView(R.layout.tela2);Button bttelaprincipal = (Button)

findViewById(R.id.bttelaprincipal);bttelaprincipal.setOnClickListener(new

View.OnClickListener(){public void onClick(View arg0) {

CarregaTelaPrincipal();}

});}

Page 55: + Treinamento em Android. + 5. Criando aplicações Android.

+Mudança de Layout

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);CarregaTelaPrincipal();

}

Page 56: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

Project Name: AppCadastro

Package Name: br.org.citi.appcadastro

Create Activity: MainActivity

Application Name: Cadastro

Build SDK: 16

Page 57: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

Page 58: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

main.xml

ButtonId: “@+principal/btcadastrarpessoas”layout_width: “fill_parent”text: “Cadastrar pessoa”ButtonId: “@+principal/btlistrarpessoas”layout_width: “fill_parent”text: “Listar pessoas cadastradas”

Page 59: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

cadastro.xml

TextViewtext: “Módulo de cadastro. Digite seus dados abaixo:”TextViewtext: “Nome:”EditTextid: “@+cadastro/ednome”layout_width: “fill_parent”TextView

text: “Profissão:”

EditTextid: “@+cadastro/edprofissao”layout_width: “fill_parent”TextViewtext: “Idade:”EditTextid: “@+cadastro/edidade”layout_width: “fill_parent”

Page 60: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

cadastro.xml

LinearLayoutorientation: horizontal

layout_widith: fill_parentgravity: center

Buttonid: “@+cadastro/btcadastrar”text: “Cadastrar pessoa”Buttonid: “@+cadastro/btcancelar”text: “Cancelar”

Page 61: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

listacadastrados.xmlTextView

text: “Lista de pessoas cadastradas.”textColor: “#ffffff”textSize: “20sp”

LinearLayoutorientation: horizontal

layout_widith: fill_parentid: “@+id/layoutNome”

TextViewtext: “Nome:”textColor: “#ffff00”textSize: “20sp”TextViewtext: “”TextColor “#ffffff”textSize “20sp”id: “@+lista/txtnome”

Page 62: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

listacadastrados.xml

LinearLayoutorientation: horizontal

layout_widith: fill_parentid: “@+id/layoutProfissao”

TextViewtext: “Profissao:”textColor: “#ffff00”textSize: “20sp”TextViewtext: “”TextColor “#ffffff”textSize “20sp”id: “@+lista/txtprofissao”

Page 63: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

listacadastrados.xml

LinearLayoutorientation: horizontal

layout_widith: fill_parentid: “@+id/layoutIdade”

TextViewtext: “Idade:”textColor: “#ffff00”textSize: “20sp”TextViewtext: “”TextColor “#ffffff”textSize “20sp”id: “@+lista/txtidade”

Page 64: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

listacadastrados.xml

LinearLayoutorientation: horizontal

layout_widith: fill_parentgravity: centerid: “@+id/layoutBotoes”

Buttonid: “@+lista/btvoltar”text: “Voltar”Buttonid: “@+lista/btavancar”text: “Avançar”

Buttonid: “@+lista/btmenu”layout_width: “fill_parent”text: “Menu Princiapal”

Page 65: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

Registro.javapublic class Registro {String nome;String profissao;String idade;Registro Prox;Registro Ant;

}

Page 66: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

AppLayout.javavoid CarregaTelaPrincipal () {

setContentView(R.layout.main);Button btcadpess = (Button)

findViewById(R.principal.btcadastrarpessoas);Button btlistapess = (Button)

findViewById(R.principal.btlistarpessoas);btcadpess.setOnClickListener(new View.OnClickListener(){

public void onClick(View arg0){CarregaTelaCadastro();

}});btlistapess.setOnClickListener(new View.OnClickListener(){

public void onClick(View arg0){CarregaListaPessoas();

}});}

Page 67: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

void CarregaTelaCadastro() {setContentView(R.layout.cadastro);Button btcadastrar = (Button)

findViewById(R.cadastro.btcadastrar);Button btcancelar = (Button)

findViewById(R.cadastro.btcancelar);btcadastrar.setOnClickListener(new View.OnClickListener(){

public void onClick(View arg0){try {

reg = new Registro();ednome =

(EditText)findViewById(R.cadastro.ednome);edprof =

(EditText)findViewById(R.cadastro.edprofissao);edidade =

(EditText)findViewById(R.cadastro.edidade);

Page 68: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

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.Ant = reg;ult=reg;

}numreg++;

showMessage("Cadastro efetuado comsucesso", "Aviso");

CarregaTelaPrincipal();}catch(Exception e) {

showMessage("Erro ao cadastrar", "Erro");

}}});

Page 69: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

btcancelar.setOnClickListener(newView.OnClickListener(){

public void onClick(View arg0){CarregaTelaPrincipal();

}});

}

void CarregaListaPessoas() {if(numreg==0) {

showMessage("Nenhum registro cadastrado", "Aviso");

CarregaTelaPrincipal();return;

}setContentView(R.layout.listacadastrados);pos=1;aux=pri;

Page 70: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

TextView txtnome = (TextView) findViewById(R.lista.txtnome);

TextView txtidade = (TextView) findViewById(R.lista.txtidade);

TextView txtprofissao = (TextView) findViewById(R.lista.txtprofissao);

Button btmenu = (Button) findViewById(R.lista.btmenu);Button btavancar = (Button) findViewById(R.lista.btavancar);Button btvoltar = (Button) findViewById(R.lista.btvoltar);txtnome.setText(aux.nome);txtidade.setText(aux.idade);txtprofissao.setText(aux.profissao);btmenu.setOnClickListener(new View.OnClickListener(){

public void onClick(View arg0){CarregaTelaPrincipal();

}});

Page 71: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

btvoltar.setOnClickListener(new View.OnClickListener(){public void onClick(View arg0){

if(pos==1) return;pos--;aux=aux.Ant;TextView txtnome = (TextView)

findViewById(R.lista.txtnome);TextView txtidade = (TextView)

findViewById(R.lista.txtidade);TextView txtprofissao = (TextView)

findViewById(R.lista.txtprofissao);txtnome.setText(aux.nome);txtidade.setText(aux.idade);txtprofissao.setText(aux.profissao);

}});

Page 72: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

btavancar.setOnClickListener(new View.OnClickListener(){public void onClick(View arg0){

if(pos==numreg) return;pos++;aux=aux.Prox;TextView txtnome = (TextView)

findViewById(R.lista.txtnome);TextView txtidade = (TextView)

findViewById(R.lista.txtidade);TextView txtprofissao = (TextView)

findViewById(R.lista.txtprofissao);txtnome.setText(aux.nome);txtidade.setText(aux.idade);txtprofissao.setText(aux.profissao);

}});

}

Page 73: + Treinamento em Android. + 5. Criando aplicações Android.

+Aplicação de cadastro

Registro pri,reg,ult,aux;EditText ednome,edprof,edidade;int numreg,pos;public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);numreg=0;pri=null;ult=null;CarregaTelaPrincipal();

}public void showMessage(String Caption,String itle) {

AlertDialog.Builder dialogo = new AlertDialog.Builder(AppCadastro.this);

dialogo.setTitle(Title);dialogo.setMessage(Caption);dialogo.setNeutralButton("OK", null);dialogo.show();

}

Page 74: + Treinamento em Android. + 5. Criando aplicações Android.

+Melhorando!

Vamos adicionar uma imagem associada à pessoa cadastrada;

Essa imagem deve ser escolhida de uma galeria (obviamente, contendo mais de uma imagem);

Habilite a função de edição, onde todos os dados serão alterados; DICA: Use a mesma tela do cadastro!