SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Capítulo 08: Layouts customizados
Instrutor
●

Programador desde 2000

●

Aluno de doutorado

●

●

●

●

Mestre em informática pelo
ICOMP/UFAM
Especialista em aplicações
WEB – FUCAPI
marcio.palheta@gmail.com
sites.google.com/site/marcio
palheta
M.Sc. Márcio Palheta
Agenda
●

Na estrada, até aqui

●

Novo layout para a listagem de alunos, usando:
–

Foto e Nome do Aluno

●

Arquivo de cores: res/values/colors.xml

●

Layout para itens da ListView: res/layout/item.xml

●

Adapters customizados: ListaAlunoAdapter.java

●

Injeção de dependências em Android
M.Sc. Márcio Palheta

3/35
Na estrada, até aqui.
●

●

A nossa lista de alunos apresenta
o nome dos alunos
Essa lista é baseada em um
layout do próprio Android:
–

●

android.R.layout.simple_list_item_1

Esse layout é usado pelo
ArrayAdapter par vincular a lista
de alunos (List<Aluno>) à nossa
ListView
M.Sc. Márcio Palheta

4/35
Hora de melhorar o layout
●

Mas agora, temos a foto do aluno, armazenada no device

●

O caminho para a foto está armazenado no SQLite

●

Queremos uma listagem onde:
–
–

●

●

Sejam exibidos foto e nome do aluno; e
Cada linha da tabela seja de uma cor (zebrada)

Para isso, precisamos definir um arquivo de Cores e outro
para o Novo Layout
Vamos começar por esses dois XMLs

M.Sc. Márcio Palheta

5/35
Exercício 01: Arquivo de cores
●

Crie o arquivo /res/values/colors.xml, onde vamos definir
cores para a borda da imagem, para linhas pares e para
linhas ímpares:

M.Sc. Márcio Palheta

6/35
Exercício 02: res/layout/item.xml

M.Sc. Márcio Palheta

7/35
Exercício 02: res/layout/item.xml

ImageView para
exibir a Foto

M.Sc. Márcio Palheta

8/35
Exercício 02: res/layout/item.xml

ImageView para
exibir a Foto
Efeito de
borda da Imagem

M.Sc. Márcio Palheta

9/35
Exercício 02: res/layout/item.xml

ImageView para
exibir a Foto
Efeito de
borda da Imagem

TextView para
exibir o Nome

M.Sc. Márcio Palheta

10/35
Adapter customizado - BaseAdapter
●

Agora que temos nosso layout pronto para ser inflado,
precisamos ensinar ao Android:
–
–

●

●

Como carregar a foto na ImageView; e
Como colocar o nome do aluno no TextView;

Para resolver o problema, vamos criar o nosso próprio
Adapter
No Android, temos a classe abstrata BaseAdapter, que já
traz os métodos abstratos necessários à exibição da lista
na tela

M.Sc. Márcio Palheta

11/35
Métodos da classe BaseAdapter
●

●

●

●

public int getCount()
Indica quantos itens temos para exibir na listagem. Com
isso, o Android calcula o tamanho inicial da ListView.
Podemos receber a coleção de alunos pelo construtor e
usar o método size()
public long getItemId(int posicao)
Retorna um identificador único para o item da lista.
Vamos retorna o id do aluno:
–

listaAlunos.get(posicao).getId()
M.Sc. Márcio Palheta

12/35
Métodos da classe BaseAdapter
●

public Object getItem(int posicao)
Retorna um item da lista, de acordo com a posição
–

listaAlunos.get(posicao)

public View getView(int posicao, View
convertView, ViewGroup parent)
●

●

●

Retorna um objeto View, representando a linha da
ListView que será exibida na tela do device
Para usar o layout gerado, vamos precisar de uma
Activity, onde teremos acesso ao seu getLayoutInflater()
Vamos receber, também, a Activity pelo construtor
M.Sc. Márcio Palheta

13/35
Exercício 03: ListaAlunoAdapter.java
●

Cria a classe ListaAlunoAdapter, no pacote adapter

●

Gere atributos e um construtor (No eclipse: Ctrl+3 → gcuf)

M.Sc. Márcio Palheta

14/35
Exercício 03: ListaAlunoAdapter.java
●

Novo pacote para
Cria a classe ListaAlunoAdapter, no pacote adapter
classes Adapter

●

Gere atributos e um construtor (No eclipse: Ctrl+3 → gcuf)

M.Sc. Márcio Palheta

15/35
Exercício 03: ListaAlunoAdapter.java
●

Novo pacote para
Cria a classe ListaAlunoAdapter, no pacote adapter
classes Adapter

●

Gere atributos e um construtor (No eclipse: Ctrl+3 → gcuf)
Classe filha de
BaseAdapter

M.Sc. Márcio Palheta

16/35
Exercício 03: ListaAlunoAdapter.java
●

Novo pacote para
Cria a classe ListaAlunoAdapter, no pacote adapter
classes Adapter

●

Gere atributos e um construtor (No eclipse: Ctrl+3 → gcuf)
Classe filha de
BaseAdapter

Dependências do
nosso Adapter

M.Sc. Márcio Palheta

17/35
Exercício 03: ListaAlunoAdapter.java
●

Novo pacote para
Cria a classe ListaAlunoAdapter, no pacote adapter
classes Adapter

●

Gere atributos e um construtor (No eclipse: Ctrl+3 → gcuf)
Classe filha de
BaseAdapter

Dependências do
nosso Adapter

Método construtor para
Injeção de Dependências

M.Sc. Márcio Palheta

18/35
Exercício 04: Atualização do Adapter
●

Na classe ListaAlunoAdapter, implemente os métodos
herdados da classe abstrata BaseAdapter

M.Sc. Márcio Palheta

19/35
Exercício 04: Atualização do Adapter
●

NaRetorna o total
classe ListaAlunoAdapter, implemente os métodos
de itens da lista
herdados da classe abstrata BaseAdapter

M.Sc. Márcio Palheta

20/35
Exercício 04: Atualização do Adapter
●

NaRetorna o total
classe ListaAlunoAdapter, implemente os métodos
de itens da lista
herdados da classe abstrata BaseAdapter
Método que
retorna o ID de
um item

M.Sc. Márcio Palheta

21/35
Exercício 04: Atualização do Adapter
●

NaRetorna o total
classe ListaAlunoAdapter, implemente os métodos
de itens da lista
herdados da classe abstrata BaseAdapter
Método que
retorna o ID de
um item

Retorna o
Aluno que
representa
um item da
ListView

M.Sc. Márcio Palheta

22/35
Exercício 05: Gerar a linha da ListView
●

Implemente o método ListaAlunoAdapter.getView(...):

M.Sc. Márcio Palheta

23/35
Exercício 05: Gerar a linha da ListView
●

Método que retorna o item
que o método ListView
Implementeserá exibido na ListaAlunoAdapter.getView(...):

M.Sc. Márcio Palheta

24/35
Exercício 05: Gerar a linha da ListView
●

Método que retorna o item
O item da ListView é
que o método ListView
carregado com o
Implementeserá exibido na ListaAlunoAdapter.getView(...):
novo layout

M.Sc. Márcio Palheta

25/35
Exercício 05: Gerar a linha da ListView
●

Método que retorna o item
O item da ListView é
que o método ListView
carregado com o
Implementeserá exibido na ListaAlunoAdapter.getView(...):
novo layout
Pega uma
referência para Aluno

M.Sc. Márcio Palheta

26/35
Exercício 05: Gerar a linha da ListView
●

Método que retorna o item
O item da ListView é
que o método ListView
carregado com o
Implementeserá exibido na ListaAlunoAdapter.getView(...):
novo layout
Pega uma
referência para Aluno

Configuração de
Cor de fundo das
linhas da ListView

M.Sc. Márcio Palheta

27/35
Exercício 05: final do método getView()

M.Sc. Márcio Palheta

28/35
Exercício 05: final do método getView()
Configuração
do nome

M.Sc. Márcio Palheta

29/35
Exercício 05: final do método getView()
Configuração
do nome
Configuração
da foto

M.Sc. Márcio Palheta

30/35
Exercício 05: final do método getView()
Configuração
do nome
Configuração
da foto

Retorna a linha
da ListView

M.Sc. Márcio Palheta

31/35
Execute a App e veja o novo Layout

M.Sc. Márcio Palheta

32/35
O que vem a seguir?
●

Serviços de background: Receber SMS e Tocar MP3

●

Integração via JSON

●

Tarefas assíncronas e Barra de progresso

●

Fragments

●

Google Maps e GPS

M.Sc. Márcio Palheta

33/35
Referências
●

www.caelum.com.br

●

d.android.com

●

●

LECHETA, Ricardo. Google Android, 3a edição,
Novatec, São Paulo, 2013
Código fonte completo:
https://github.com/marciopalheta/cursosandroid

M.Sc. Márcio Palheta

34/35
Capítulo 08: Layouts customizados

Mais conteúdo relacionado

Semelhante a Lista Alunos Customizada

Programação Orientada por Objectos - Aula 4
Programação Orientada por Objectos - Aula 4Programação Orientada por Objectos - Aula 4
Programação Orientada por Objectos - Aula 4guestd521d1f
 
Capítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSONCapítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSONMarcio Palheta
 
Lista deexerciciono 02
Lista deexerciciono 02Lista deexerciciono 02
Lista deexerciciono 02jucibs
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Erisvaldo Junior
 
Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)Mario Sergio
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003elliando dias
 

Semelhante a Lista Alunos Customizada (9)

Programação Orientada por Objectos - Aula 4
Programação Orientada por Objectos - Aula 4Programação Orientada por Objectos - Aula 4
Programação Orientada por Objectos - Aula 4
 
Programação Orientada por Objectos - Aula 4
Programação Orientada por Objectos - Aula 4Programação Orientada por Objectos - Aula 4
Programação Orientada por Objectos - Aula 4
 
Capítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSONCapítulo 10 - Sincronização de dados usando JSON
Capítulo 10 - Sincronização de dados usando JSON
 
Lista deexerciciono 02
Lista deexerciciono 02Lista deexerciciono 02
Lista deexerciciono 02
 
Classes e Objetos
Classes e ObjetosClasses e Objetos
Classes e Objetos
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6
 
Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)
 
Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
 

Mais de Marcio Palheta

Capítulo 09 - Serviços em Background
Capítulo 09 - Serviços em BackgroundCapítulo 09 - Serviços em Background
Capítulo 09 - Serviços em BackgroundMarcio Palheta
 
Capítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldCapítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldMarcio Palheta
 
Implementação de Sockets em JAVA
Implementação de Sockets em JAVAImplementação de Sockets em JAVA
Implementação de Sockets em JAVAMarcio Palheta
 
Trabalhando com Threads em JAVA
Trabalhando com Threads em JAVATrabalhando com Threads em JAVA
Trabalhando com Threads em JAVAMarcio Palheta
 
Introdução ao Python
Introdução ao PythonIntrodução ao Python
Introdução ao PythonMarcio Palheta
 
Weka em aplicações java
Weka em aplicações javaWeka em aplicações java
Weka em aplicações javaMarcio Palheta
 
Palestra ministrada na Feira Norte do Estudante 2012
Palestra ministrada na Feira Norte do Estudante 2012Palestra ministrada na Feira Norte do Estudante 2012
Palestra ministrada na Feira Norte do Estudante 2012Marcio Palheta
 

Mais de Marcio Palheta (7)

Capítulo 09 - Serviços em Background
Capítulo 09 - Serviços em BackgroundCapítulo 09 - Serviços em Background
Capítulo 09 - Serviços em Background
 
Capítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldCapítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorld
 
Implementação de Sockets em JAVA
Implementação de Sockets em JAVAImplementação de Sockets em JAVA
Implementação de Sockets em JAVA
 
Trabalhando com Threads em JAVA
Trabalhando com Threads em JAVATrabalhando com Threads em JAVA
Trabalhando com Threads em JAVA
 
Introdução ao Python
Introdução ao PythonIntrodução ao Python
Introdução ao Python
 
Weka em aplicações java
Weka em aplicações javaWeka em aplicações java
Weka em aplicações java
 
Palestra ministrada na Feira Norte do Estudante 2012
Palestra ministrada na Feira Norte do Estudante 2012Palestra ministrada na Feira Norte do Estudante 2012
Palestra ministrada na Feira Norte do Estudante 2012
 

Último

COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxLusGlissonGud
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 

Último (20)

COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 

Lista Alunos Customizada

  • 1. Capítulo 08: Layouts customizados
  • 2. Instrutor ● Programador desde 2000 ● Aluno de doutorado ● ● ● ● Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB – FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio palheta M.Sc. Márcio Palheta
  • 3. Agenda ● Na estrada, até aqui ● Novo layout para a listagem de alunos, usando: – Foto e Nome do Aluno ● Arquivo de cores: res/values/colors.xml ● Layout para itens da ListView: res/layout/item.xml ● Adapters customizados: ListaAlunoAdapter.java ● Injeção de dependências em Android M.Sc. Márcio Palheta 3/35
  • 4. Na estrada, até aqui. ● ● A nossa lista de alunos apresenta o nome dos alunos Essa lista é baseada em um layout do próprio Android: – ● android.R.layout.simple_list_item_1 Esse layout é usado pelo ArrayAdapter par vincular a lista de alunos (List<Aluno>) à nossa ListView M.Sc. Márcio Palheta 4/35
  • 5. Hora de melhorar o layout ● Mas agora, temos a foto do aluno, armazenada no device ● O caminho para a foto está armazenado no SQLite ● Queremos uma listagem onde: – – ● ● Sejam exibidos foto e nome do aluno; e Cada linha da tabela seja de uma cor (zebrada) Para isso, precisamos definir um arquivo de Cores e outro para o Novo Layout Vamos começar por esses dois XMLs M.Sc. Márcio Palheta 5/35
  • 6. Exercício 01: Arquivo de cores ● Crie o arquivo /res/values/colors.xml, onde vamos definir cores para a borda da imagem, para linhas pares e para linhas ímpares: M.Sc. Márcio Palheta 6/35
  • 8. Exercício 02: res/layout/item.xml ImageView para exibir a Foto M.Sc. Márcio Palheta 8/35
  • 9. Exercício 02: res/layout/item.xml ImageView para exibir a Foto Efeito de borda da Imagem M.Sc. Márcio Palheta 9/35
  • 10. Exercício 02: res/layout/item.xml ImageView para exibir a Foto Efeito de borda da Imagem TextView para exibir o Nome M.Sc. Márcio Palheta 10/35
  • 11. Adapter customizado - BaseAdapter ● Agora que temos nosso layout pronto para ser inflado, precisamos ensinar ao Android: – – ● ● Como carregar a foto na ImageView; e Como colocar o nome do aluno no TextView; Para resolver o problema, vamos criar o nosso próprio Adapter No Android, temos a classe abstrata BaseAdapter, que já traz os métodos abstratos necessários à exibição da lista na tela M.Sc. Márcio Palheta 11/35
  • 12. Métodos da classe BaseAdapter ● ● ● ● public int getCount() Indica quantos itens temos para exibir na listagem. Com isso, o Android calcula o tamanho inicial da ListView. Podemos receber a coleção de alunos pelo construtor e usar o método size() public long getItemId(int posicao) Retorna um identificador único para o item da lista. Vamos retorna o id do aluno: – listaAlunos.get(posicao).getId() M.Sc. Márcio Palheta 12/35
  • 13. Métodos da classe BaseAdapter ● public Object getItem(int posicao) Retorna um item da lista, de acordo com a posição – listaAlunos.get(posicao) public View getView(int posicao, View convertView, ViewGroup parent) ● ● ● Retorna um objeto View, representando a linha da ListView que será exibida na tela do device Para usar o layout gerado, vamos precisar de uma Activity, onde teremos acesso ao seu getLayoutInflater() Vamos receber, também, a Activity pelo construtor M.Sc. Márcio Palheta 13/35
  • 14. Exercício 03: ListaAlunoAdapter.java ● Cria a classe ListaAlunoAdapter, no pacote adapter ● Gere atributos e um construtor (No eclipse: Ctrl+3 → gcuf) M.Sc. Márcio Palheta 14/35
  • 15. Exercício 03: ListaAlunoAdapter.java ● Novo pacote para Cria a classe ListaAlunoAdapter, no pacote adapter classes Adapter ● Gere atributos e um construtor (No eclipse: Ctrl+3 → gcuf) M.Sc. Márcio Palheta 15/35
  • 16. Exercício 03: ListaAlunoAdapter.java ● Novo pacote para Cria a classe ListaAlunoAdapter, no pacote adapter classes Adapter ● Gere atributos e um construtor (No eclipse: Ctrl+3 → gcuf) Classe filha de BaseAdapter M.Sc. Márcio Palheta 16/35
  • 17. Exercício 03: ListaAlunoAdapter.java ● Novo pacote para Cria a classe ListaAlunoAdapter, no pacote adapter classes Adapter ● Gere atributos e um construtor (No eclipse: Ctrl+3 → gcuf) Classe filha de BaseAdapter Dependências do nosso Adapter M.Sc. Márcio Palheta 17/35
  • 18. Exercício 03: ListaAlunoAdapter.java ● Novo pacote para Cria a classe ListaAlunoAdapter, no pacote adapter classes Adapter ● Gere atributos e um construtor (No eclipse: Ctrl+3 → gcuf) Classe filha de BaseAdapter Dependências do nosso Adapter Método construtor para Injeção de Dependências M.Sc. Márcio Palheta 18/35
  • 19. Exercício 04: Atualização do Adapter ● Na classe ListaAlunoAdapter, implemente os métodos herdados da classe abstrata BaseAdapter M.Sc. Márcio Palheta 19/35
  • 20. Exercício 04: Atualização do Adapter ● NaRetorna o total classe ListaAlunoAdapter, implemente os métodos de itens da lista herdados da classe abstrata BaseAdapter M.Sc. Márcio Palheta 20/35
  • 21. Exercício 04: Atualização do Adapter ● NaRetorna o total classe ListaAlunoAdapter, implemente os métodos de itens da lista herdados da classe abstrata BaseAdapter Método que retorna o ID de um item M.Sc. Márcio Palheta 21/35
  • 22. Exercício 04: Atualização do Adapter ● NaRetorna o total classe ListaAlunoAdapter, implemente os métodos de itens da lista herdados da classe abstrata BaseAdapter Método que retorna o ID de um item Retorna o Aluno que representa um item da ListView M.Sc. Márcio Palheta 22/35
  • 23. Exercício 05: Gerar a linha da ListView ● Implemente o método ListaAlunoAdapter.getView(...): M.Sc. Márcio Palheta 23/35
  • 24. Exercício 05: Gerar a linha da ListView ● Método que retorna o item que o método ListView Implementeserá exibido na ListaAlunoAdapter.getView(...): M.Sc. Márcio Palheta 24/35
  • 25. Exercício 05: Gerar a linha da ListView ● Método que retorna o item O item da ListView é que o método ListView carregado com o Implementeserá exibido na ListaAlunoAdapter.getView(...): novo layout M.Sc. Márcio Palheta 25/35
  • 26. Exercício 05: Gerar a linha da ListView ● Método que retorna o item O item da ListView é que o método ListView carregado com o Implementeserá exibido na ListaAlunoAdapter.getView(...): novo layout Pega uma referência para Aluno M.Sc. Márcio Palheta 26/35
  • 27. Exercício 05: Gerar a linha da ListView ● Método que retorna o item O item da ListView é que o método ListView carregado com o Implementeserá exibido na ListaAlunoAdapter.getView(...): novo layout Pega uma referência para Aluno Configuração de Cor de fundo das linhas da ListView M.Sc. Márcio Palheta 27/35
  • 28. Exercício 05: final do método getView() M.Sc. Márcio Palheta 28/35
  • 29. Exercício 05: final do método getView() Configuração do nome M.Sc. Márcio Palheta 29/35
  • 30. Exercício 05: final do método getView() Configuração do nome Configuração da foto M.Sc. Márcio Palheta 30/35
  • 31. Exercício 05: final do método getView() Configuração do nome Configuração da foto Retorna a linha da ListView M.Sc. Márcio Palheta 31/35
  • 32. Execute a App e veja o novo Layout M.Sc. Márcio Palheta 32/35
  • 33. O que vem a seguir? ● Serviços de background: Receber SMS e Tocar MP3 ● Integração via JSON ● Tarefas assíncronas e Barra de progresso ● Fragments ● Google Maps e GPS M.Sc. Márcio Palheta 33/35
  • 34. Referências ● www.caelum.com.br ● d.android.com ● ● LECHETA, Ricardo. Google Android, 3a edição, Novatec, São Paulo, 2013 Código fonte completo: https://github.com/marciopalheta/cursosandroid M.Sc. Márcio Palheta 34/35
  • 35. Capítulo 08: Layouts customizados