capítulo 05 - menus de contexto e exclusão de aluno

41
Capítulo 05: Menus de Contexto

Upload: marcio-palheta

Post on 11-Jun-2015

2.923 views

Category:

Technology


1 download

DESCRIPTION

Neste capítulo, discutimos a criação de Menus de Contexto, usando menus.xml e inflater.

TRANSCRIPT

Page 1: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

Capítulo 05: Menus de Contexto

Page 2: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

Instrutor

● Programador desde 2000

● Aluno de doutorado

● Mestre em informática pelo ICOMP/UFAM

● Especialista em aplicações WEB – FUCAPI

[email protected]

● sites.google.com/site/marciopalheta

Page 3: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

3/41

Agenda

● Completando o caso de uso

● Menu de Contexto

● Exclusão de alunos

● Atualizações da camada de modelo

● Confirmação de exclusão

Page 4: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

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

Page 5: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

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

Page 6: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

6/41

Exercício 01: Atualização das Strings

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

Page 7: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

7/41

Exercício 01: Atualização das Strings

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

Page 8: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

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

Page 9: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

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

Page 10: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

10/41

Exercício 02: Menu de Contexto

Page 11: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

11/41

Exercício 02: Menu de ContextoDefinição do Menu

Page 12: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

12/41

Exercício 02: Menu de Contexto

Definição deItens do Menu

Definição do Menu

Page 13: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

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:

Page 14: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

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 recebeo objeto Alunoa ser excluído

Page 15: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

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 recebeo objeto Alunoa ser excluído Vetor com valores

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

Page 16: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

16/41

Exercício 03: AlunoDAO.deletar()

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

O método recebeo objeto Alunoa ser excluído Vetor com valores

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

Condiçõespara exclusão

Page 17: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

17/41

Exercício 03: AlunoDAO.deletar()

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

O método recebeo objeto Alunoa ser excluído Vetor com valores

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

Condiçõespara exclusão

Valores das“?”

Page 18: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

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

Page 19: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

19/41

Exercício 04: Novo atributo

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

Page 20: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

20/41

Exercício 05: Atualização do onCreate

● Atualize o método ListaAlunosActivity.onCreate():

Page 21: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

21/41

Exercício 05: Atualização do onCreate

● Atualize o método ListaAlunosActivity.onCreate():

Registra a ListViewpara o Menu de

Contexto

Page 22: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

22/41

Exercício 05: Atualização do onCreate

● Atualize o método ListaAlunosActivity.onCreate():

Registra a ListViewpara o Menu de

Contexto

Guarda referênciado Aluno clicado

Page 23: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

23/41

Exercício 05: Atualização do onCreate

● Atualize o método ListaAlunosActivity.onCreate():

Registra a ListViewpara o Menu de

Contexto

Guarda referênciado Aluno clicado

Não consome o Click Curto, paraque o ContextMenu seja exibido

Page 24: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

24/41

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

Page 25: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

25/41

Exercício 06: Confirmação de exclusãoMétodo de exclusão da

classe ListaAlunosActivity

Page 26: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

26/41

Exercício 06: Confirmação de exclusãoMétodo de exclusão da

classe ListaAlunosActivity

Botão de confirmação

Page 27: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

27/41

Exercício 06: Confirmação de exclusãoMétodo de exclusão da

classe ListaAlunosActivity

Botão de confirmação

Exclusão doAluno do BD

Page 28: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

28/41

Exercício 07: ContextMenu da Activity

Page 29: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

29/41

Exercício 07: ContextMenu da ActivityMétodo que cria o Menu de Contexto

Page 30: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

30/41

Exercício 07: ContextMenu da Activity

Infla o XML com itens do menu

Método que cria o Menu de Contexto

Page 31: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

31/41

Exercício 07: ContextMenu da Activity

Infla o XML com itens do menu

Método que cria o Menu de Contexto

Método que capturao click de um item

Page 32: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

32/41

Exercício 07: ContextMenu da Activity

Infla o XML com itens do menu

Método que cria o Menu de Contexto

Método que capturao click de um item

Chamada da Confirmação de

exclusão

Page 33: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

33/41

Execute a App

Page 34: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

34/41

Execute a App

Page 35: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

35/41

Execute a App

Page 36: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

36/41

Execute a App

Page 37: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

37/41

Execute a App

Page 38: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

38/41

Resultado da exclusão

Page 39: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

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

Page 40: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

M.Sc. Márcio Palheta

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

Page 41: Capítulo 05 - Menus de Contexto e Exclusão de Aluno

Capítulo 05: Menus de Contexto