SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Capítulo 05: Menus de Contexto
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
●

Completando o caso de uso

●

Menu de Contexto

●

Exclusão de alunos

●

Atualizações da camada de modelo

●

Confirmação de exclusão

M.Sc. Márcio Palheta

3/41
Completando o sistema
●

Para completar o nosso cadastro de alunos, precisamos
implementar as rotinas de:
–
–

●

●

Alterar; e
Excluir Alunos

Quando queremos alterar um registro, é comum
utilizarmos um click curto, indicando sua seleção
Já na exclusão, é comum utilizarmos um click longo, que
abre um pequeno menu, onde selecionemos uma ação

M.Sc. Márcio Palheta

4/41
Menu de contexto - ContextMenu
●

●

●

●

●

No Android, temos o ContextMenu, que abre um menu
exclusivo para um item da lista
Para avisar ao Android que a ListView possui um menu de
contexto, temos que marcá-la: registerForContextMenu()
Vamos criar um arquivo .xml para descrever os itens que
devem ser exibidos no ContextMenu
No método onCreateContextMenu() da Activity, podemos
usar um Inflater para inflar as opções do menu
Opções: Ligar, Enviar SMS, Achar no Mapa, Navegar no
site, Enviar E-mail e Deletar
M.Sc. Márcio Palheta

5/41
Exercício 01: Atualização das Strings
●

Inclua novas chaves em /res/values/strings.xml

M.Sc. Márcio Palheta

6/41
Exercício 01: Atualização das Strings
●

Inclua novas chaves em /res/values/strings.xml

M.Sc. Márcio Palheta

7/41
Exercício 02: Menu de Contexto
●

●

●

●

●

Vamos criar o nosso
Menu de Contexto
Clique na pasta
/res/menu
Digite Ctrl+N
Selecione a opção
Android / Android
XML File
Clique em Next
M.Sc. Márcio Palheta

8/41
Exercício 02: Menu de Contexto
●

●

●

Informe o nome do
novo arquivo:
menu_contexto
Confirme os dados do
projeto e elemento
Root
Clique em Finish

M.Sc. Márcio Palheta

9/41
Exercício 02: Menu de Contexto

M.Sc. Márcio Palheta

10/41
Exercício 02: Menu de Definição
Contexto
do Menu

M.Sc. Márcio Palheta

11/41
Exercício 02: Menu de Definição
Contexto
do Menu

Definição de
Itens do Menu

M.Sc. Márcio Palheta

12/41
Exercício 03: AlunoDAO.deletar()
●

Vamos incluir na classe AlunoDAO o método para
exclusão de Alunos:

M.Sc. Márcio Palheta

13/41
Exercício 03: AlunoDAO.deletar()
●

Vamos incluir na classe AlunoDAO o método para
exclusão de Alunos:
O método recebe
o objeto Aluno
a ser excluído

M.Sc. Márcio Palheta

14/41
Exercício 03: AlunoDAO.deletar()
●

Vamos incluir na classe AlunoDAO o método para
exclusão de Alunos:
O método recebe
o objeto Aluno
a ser excluído

Vetor com valores
usados para substituir “?”
da instrução SQL

M.Sc. Márcio Palheta

15/41
Exercício 03: AlunoDAO.deletar()
●

Vamos incluir na classe AlunoDAO o método para
exclusão de Alunos:
O método recebe
o objeto Aluno
a ser excluído

Vetor com valores
usados para substituir “?”
da instrução SQL

Condições
para
M.Sc. Márcio Palheta exclusão
16/41
Exercício 03: AlunoDAO.deletar()
●

Vamos incluir na classe AlunoDAO o método para
exclusão de Alunos:
O método recebe
o objeto Aluno
a ser excluído

Vetor com valores
usados para substituir “?”
da instrução SQL

Condições
para
M.Sc. Márcio Palheta exclusão

Valores das
“?”
17/41
Exercício 04: Novo atributo
●

Na classe ListaAlunosActivity, inclua um atributo para
marcar o aluno selecionado no Click Longo da ListView

M.Sc. Márcio Palheta

18/41
Exercício 04: Novo atributo
●

Na classe ListaAlunosActivity, inclua um atributo para
marcar o aluno selecionado no Click Longo da ListView

M.Sc. Márcio Palheta

19/41
Exercício 05: Atualização do onCreate
●

Atualize o método ListaAlunosActivity.onCreate():

M.Sc. Márcio Palheta

20/41
Exercício 05: Atualização do onCreate
●

Atualize o método ListaAlunosActivity.onCreate():
Registra a ListView
para o Menu de
Contexto

M.Sc. Márcio Palheta

21/41
Exercício 05: Atualização do onCreate
●

Atualize o método ListaAlunosActivity.onCreate():
Registra a ListView
para o Menu de
Contexto

Guarda referência
do Aluno clicado

M.Sc. Márcio Palheta

22/41
Exercício 05: Atualização do onCreate
●

Atualize o método ListaAlunosActivity.onCreate():
Registra a ListView
para o Menu de
Contexto

Guarda referência
do Aluno clicado

Não consome o Click Curto, para
seja exibido

M.Sc. MárcioContextMenu
que o Palheta

23/41
Exercício 06: Confirmação de exclusão

M.Sc. Márcio Palheta

24/41
Método de exclusão da
classe ListaAlunosActivity

Exercício 06: Confirmação de exclusão

M.Sc. Márcio Palheta

25/41
Método de exclusão da
classe ListaAlunosActivity

Exercício 06: Confirmação de exclusão
Botão de
confirmação

M.Sc. Márcio Palheta

26/41
Método de exclusão da
classe ListaAlunosActivity

Exercício 06: Confirmação de exclusão
Botão de
confirmação

Exclusão do
Aluno do BD

M.Sc. Márcio Palheta

27/41
Exercício 07: ContextMenu da Activity

M.Sc. Márcio Palheta

28/41
Método que cria o
Menu de Contexto

Exercício 07: ContextMenu da Activity

M.Sc. Márcio Palheta

29/41
Método que cria o
Menu de Contexto

Exercício 07: ContextMenu da Activity
Infla o XML com
itens do menu

M.Sc. Márcio Palheta

30/41
Método que cria o
Menu de Contexto

Exercício 07: ContextMenu da Activity
Infla o XML com
itens do menu

Método que captura
o click de um item

M.Sc. Márcio Palheta

31/41
Método que cria o
Menu de Contexto

Exercício 07: ContextMenu da Activity
Infla o XML com
itens do menu

Método que captura
o click de um item

Chamada da
Confirmação de
exclusão

M.Sc. Márcio Palheta

32/41
Execute a App

M.Sc. Márcio Palheta

33/41
Execute a App

M.Sc. Márcio Palheta

34/41
Execute a App

M.Sc. Márcio Palheta

35/41
Execute a App

M.Sc. Márcio Palheta

36/41
Execute a App

M.Sc. Márcio Palheta

37/41
Resultado da exclusão

M.Sc. Márcio Palheta

38/41
O que vem a seguir?
●

Compartilhar informações entre Activities – Intents

●

Intent implicita – Chamada telefônica para um aluno

●

Envio e Recebimento de SMS

●

Navegar em site do Aluno e Envio de email

●

Câmera e arquivos

●

LayoutInflater

●

Serviços de background

●

Integração via JSON
M.Sc. Márcio Palheta

39/41
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

40/41
Capítulo 05: Menus de Contexto

Mais conteúdo relacionado

Mais procurados

Webquest adição e subtracção de fracções, elvira ferreira
Webquest adição e subtracção de fracções, elvira ferreiraWebquest adição e subtracção de fracções, elvira ferreira
Webquest adição e subtracção de fracções, elvira ferreiraJoao Ferreira
 
Exercicios - Java Swing Listeners
Exercicios - Java Swing ListenersExercicios - Java Swing Listeners
Exercicios - Java Swing ListenersDaniel Arndt Alves
 

Mais procurados (6)

Apostila php avancado
Apostila php avancadoApostila php avancado
Apostila php avancado
 
Tutorial Java: Polimorfismo
Tutorial Java: PolimorfismoTutorial Java: Polimorfismo
Tutorial Java: Polimorfismo
 
Tutorial Java: Interface
Tutorial Java: InterfaceTutorial Java: Interface
Tutorial Java: Interface
 
Webquest adição e subtracção de fracções, elvira ferreira
Webquest adição e subtracção de fracções, elvira ferreiraWebquest adição e subtracção de fracções, elvira ferreira
Webquest adição e subtracção de fracções, elvira ferreira
 
Exercicios - Java Swing
Exercicios - Java SwingExercicios - Java Swing
Exercicios - Java Swing
 
Exercicios - Java Swing Listeners
Exercicios - Java Swing ListenersExercicios - Java Swing Listeners
Exercicios - Java Swing Listeners
 

Mais de Marcio Palheta

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
 
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 (8)

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

MenuContextoExclusãoAlunos

  • 1. Capítulo 05: Menus de Contexto
  • 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 ● Completando o caso de uso ● Menu de Contexto ● Exclusão de alunos ● Atualizações da camada de modelo ● Confirmação de exclusão M.Sc. Márcio Palheta 3/41
  • 4. Completando o sistema ● Para completar o nosso cadastro de alunos, precisamos implementar as rotinas de: – – ● ● Alterar; e Excluir Alunos Quando queremos alterar um registro, é comum utilizarmos um click curto, indicando sua seleção Já na exclusão, é comum utilizarmos um click longo, que abre um pequeno menu, onde selecionemos uma ação M.Sc. Márcio Palheta 4/41
  • 5. Menu de contexto - ContextMenu ● ● ● ● ● No Android, temos o ContextMenu, que abre um menu exclusivo para um item da lista Para avisar ao Android que a ListView possui um menu de contexto, temos que marcá-la: registerForContextMenu() Vamos criar um arquivo .xml para descrever os itens que devem ser exibidos no ContextMenu No método onCreateContextMenu() da Activity, podemos usar um Inflater para inflar as opções do menu Opções: Ligar, Enviar SMS, Achar no Mapa, Navegar no site, Enviar E-mail e Deletar M.Sc. Márcio Palheta 5/41
  • 6. Exercício 01: Atualização das Strings ● Inclua novas chaves em /res/values/strings.xml M.Sc. Márcio Palheta 6/41
  • 7. Exercício 01: Atualização das Strings ● Inclua novas chaves em /res/values/strings.xml M.Sc. Márcio Palheta 7/41
  • 8. Exercício 02: Menu de Contexto ● ● ● ● ● Vamos criar o nosso Menu de Contexto Clique na pasta /res/menu Digite Ctrl+N Selecione a opção Android / Android XML File Clique em Next M.Sc. Márcio Palheta 8/41
  • 9. Exercício 02: Menu de Contexto ● ● ● Informe o nome do novo arquivo: menu_contexto Confirme os dados do projeto e elemento Root Clique em Finish M.Sc. Márcio Palheta 9/41
  • 10. Exercício 02: Menu de Contexto M.Sc. Márcio Palheta 10/41
  • 11. Exercício 02: Menu de Definição Contexto do Menu M.Sc. Márcio Palheta 11/41
  • 12. Exercício 02: Menu de Definição Contexto do Menu Definição de Itens do Menu M.Sc. Márcio Palheta 12/41
  • 13. Exercício 03: AlunoDAO.deletar() ● Vamos incluir na classe AlunoDAO o método para exclusão de Alunos: M.Sc. Márcio Palheta 13/41
  • 14. Exercício 03: AlunoDAO.deletar() ● Vamos incluir na classe AlunoDAO o método para exclusão de Alunos: O método recebe o objeto Aluno a ser excluído M.Sc. Márcio Palheta 14/41
  • 15. Exercício 03: AlunoDAO.deletar() ● Vamos incluir na classe AlunoDAO o método para exclusão de Alunos: O método recebe o objeto Aluno a ser excluído Vetor com valores usados para substituir “?” da instrução SQL M.Sc. Márcio Palheta 15/41
  • 16. Exercício 03: AlunoDAO.deletar() ● Vamos incluir na classe AlunoDAO o método para exclusão de Alunos: O método recebe o objeto Aluno a ser excluído Vetor com valores usados para substituir “?” da instrução SQL Condições para M.Sc. Márcio Palheta exclusão 16/41
  • 17. Exercício 03: AlunoDAO.deletar() ● Vamos incluir na classe AlunoDAO o método para exclusão de Alunos: O método recebe o objeto Aluno a ser excluído Vetor com valores usados para substituir “?” da instrução SQL Condições para M.Sc. Márcio Palheta exclusão Valores das “?” 17/41
  • 18. Exercício 04: Novo atributo ● Na classe ListaAlunosActivity, inclua um atributo para marcar o aluno selecionado no Click Longo da ListView M.Sc. Márcio Palheta 18/41
  • 19. Exercício 04: Novo atributo ● Na classe ListaAlunosActivity, inclua um atributo para marcar o aluno selecionado no Click Longo da ListView M.Sc. Márcio Palheta 19/41
  • 20. Exercício 05: Atualização do onCreate ● Atualize o método ListaAlunosActivity.onCreate(): M.Sc. Márcio Palheta 20/41
  • 21. Exercício 05: Atualização do onCreate ● Atualize o método ListaAlunosActivity.onCreate(): Registra a ListView para o Menu de Contexto M.Sc. Márcio Palheta 21/41
  • 22. Exercício 05: Atualização do onCreate ● Atualize o método ListaAlunosActivity.onCreate(): Registra a ListView para o Menu de Contexto Guarda referência do Aluno clicado M.Sc. Márcio Palheta 22/41
  • 23. Exercício 05: Atualização do onCreate ● Atualize o método ListaAlunosActivity.onCreate(): Registra a ListView para o Menu de Contexto Guarda referência do Aluno clicado Não consome o Click Curto, para seja exibido M.Sc. MárcioContextMenu que o Palheta 23/41
  • 24. Exercício 06: Confirmação de exclusão M.Sc. Márcio Palheta 24/41
  • 25. Método de exclusão da classe ListaAlunosActivity Exercício 06: Confirmação de exclusão M.Sc. Márcio Palheta 25/41
  • 26. Método de exclusão da classe ListaAlunosActivity Exercício 06: Confirmação de exclusão Botão de confirmação M.Sc. Márcio Palheta 26/41
  • 27. Método de exclusão da classe ListaAlunosActivity Exercício 06: Confirmação de exclusão Botão de confirmação Exclusão do Aluno do BD M.Sc. Márcio Palheta 27/41
  • 28. Exercício 07: ContextMenu da Activity M.Sc. Márcio Palheta 28/41
  • 29. Método que cria o Menu de Contexto Exercício 07: ContextMenu da Activity M.Sc. Márcio Palheta 29/41
  • 30. Método que cria o Menu de Contexto Exercício 07: ContextMenu da Activity Infla o XML com itens do menu M.Sc. Márcio Palheta 30/41
  • 31. Método que cria o Menu de Contexto Exercício 07: ContextMenu da Activity Infla o XML com itens do menu Método que captura o click de um item M.Sc. Márcio Palheta 31/41
  • 32. Método que cria o Menu de Contexto Exercício 07: ContextMenu da Activity Infla o XML com itens do menu Método que captura o click de um item Chamada da Confirmação de exclusão M.Sc. Márcio Palheta 32/41
  • 33. Execute a App M.Sc. Márcio Palheta 33/41
  • 34. Execute a App M.Sc. Márcio Palheta 34/41
  • 35. Execute a App M.Sc. Márcio Palheta 35/41
  • 36. Execute a App M.Sc. Márcio Palheta 36/41
  • 37. Execute a App M.Sc. Márcio Palheta 37/41
  • 38. Resultado da exclusão M.Sc. Márcio Palheta 38/41
  • 39. O que vem a seguir? ● Compartilhar informações entre Activities – Intents ● Intent implicita – Chamada telefônica para um aluno ● Envio e Recebimento de SMS ● Navegar em site do Aluno e Envio de email ● Câmera e arquivos ● LayoutInflater ● Serviços de background ● Integração via JSON M.Sc. Márcio Palheta 39/41
  • 40. 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 40/41
  • 41. Capítulo 05: Menus de Contexto