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 Capítulo 08 - desenvolvimento de layouts customizados

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
Erisvaldo Junior
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
elliando dias
 

Semelhante a Capítulo 08 - desenvolvimento de layouts customizados (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

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
Marcio 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

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
andrenespoli3
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
CleidianeCarvalhoPer
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
NarlaAquino
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 

Último (20)

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfProjeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
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
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 

Capítulo 08 - desenvolvimento de layouts customizados

  • 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