Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Capítulo 02: Cadastro de Alunos
Instrutor
●

Programador desde 2000

●

Aluno de doutorado

●

●

●

●

Mestre em informática pelo
ICOMP/UFAM
Especialista...
Agenda
●

Definições de projeto – Registro Acadêmico

●

Pensando em Casos de Uso

●

Criação de uma nova App

●

Criação ...
Definições de Projeto
●

●

Como estratégia para apresentação do conteúdo deste
curso, realizaremos a implementação de uma...
Funcionalidades da nossa App

M.Sc. Márcio Palheta

5/75
Funcionalidades da nossa App

M.Sc. Márcio Palheta

6/75
Começando pelo cadastro
●

●

●

●

●

Neste requisito da nossa
App, precisamos de:
Uma tela para listar
Alunos
E outra pa...
Exercício 01: Nova Android Application

M.Sc. Márcio Palheta

8/75
Exercício 01: Nova Android Application
●

Clique em Next, até chegar à última tela:

M.Sc. Márcio Palheta

9/75
Estrutura de pastas da App

M.Sc. Márcio Palheta

10/75
Exercício 02: Tela de listagem
●

Agora vamos definir a Tela de listagem de alunos

●

Nossa tela precisa dos seguintes co...
Exercício 02: Tela de listagem
●

Altere o arquivo: /res/values/strings.xml

M.Sc. Márcio Palheta

12/75
Exercício 02: Tela de listagem
●

Altere o arquivo: /res/values/strings.xml

Strings usadas na
Tela de Listagem

M.Sc. Már...
Exercício 02: Tela de listagem
●

Altere: /res/layout/listaalunoslayout.xml

M.Sc. Márcio Palheta

14/75
Exercício 02: Tela de listagem
●

Altere: /res/layout/listaalunoslayout.xml
Campo de Texto
id=edNomeListagem

M.Sc. Márcio...
Exercício 02: Tela de listagem
●

Altere: /res/layout/listaalunoslayout.xml

Componente Botão
id=btAddListagem

M.Sc. Márc...
Exercício 02: Tela de listagem
●

Altere: /res/layout/listaalunoslayout.xml

Componente Lista
para exibir Alunos
id=lvList...
Exercício 02: Tela de listagem
●

●

●

●

Execute sua App
Repare que os os
componentes EditText e
Button estão visíveis
N...
Exercício 02: Tela de listagem
●

●

●

●

Campo de Texto e
Botão estão
Execute sua App
disponíveis

Repare que os os
comp...
Exercício 02: Tela de listagem
●

●

●

●

Campo de Texto e
Botão estão
Execute sua App
disponíveis

Repare que os os
comp...
Controladores e as regras de negócio
●

●

●

As telas (xml) que criamos em Android estão associadas
a classes Java (contr...
Exercício 03: Atributos e coleção

M.Sc. Márcio Palheta

22/75
Exercício 03: Atributos e coleção
Componente de Tela,
acessados na classe
de controle

M.Sc. Márcio Palheta

23/75
Exercício 03: Atributos e coleção

Objeto que guarda a
coleção de Alunos

M.Sc. Márcio Palheta

24/75
Exercício 03: Atributos e coleção

Método que pode ser
usado para inicializar
os atributos

M.Sc. Márcio Palheta

25/75
Exercício 04: Inicialização de atributos

M.Sc. Márcio Palheta

26/75
Exercício 04: Inicialização métodoatributos
O de setContentView(...)
associa uma Tela(.xml) a uma
classe de controle (Acti...
Exercício 04: Inicialização de atributos
O método
findViewById(...) associa
componentes da View a
atributos da Activity

M...
Exercício 04: Inicialização de atributos

O método
setOnClickListener(...)
é usado para captura do
Clique do Botão

M.Sc. ...
Exercício 04: Inicialização de atributos

O método
setOnClickListener(...)
é usado para captura do
Clique do Botão

É comu...
Itens a ponderar
●

●

●

●

Precisamos inicializar a coleção de alunos e exibir os
nomes na nossa ListView
Contudo, uma L...
ListView's com layouts diferentes

M.Sc. Márcio Palheta

32/75
Exercício 05: Novos atributos

M.Sc. Márcio Palheta

33/75
Exercício 05: Novos atributos

Declaração de
Novos Atributos

M.Sc. Márcio Palheta

34/75
Exercício 05: Novos atributos

Objeto que converte
Listas e Vetores
em View

Declaração de
Novos Atributos

M.Sc. Márcio P...
Exercício 05: Novos atributos

Declaração de
Novos Atributos
Definição do Layout
que o Adapter usará

M.Sc. Márcio Palheta...
Passo-a-passo
●

Agora que já:
–
–

●

associamos objetos java a componentes de tela
e criamos o adptador que sabe exibir ...
Exercício 06: Inicialização da ListView

M.Sc. Márcio Palheta

38/75
Exercício 06: Inicialização da ListView

Declaração de
Novos Atributos

M.Sc. Márcio Palheta

39/75
Exercício 06: Inicialização da ListView

Declaração de
Novos Atributos

Inicializa a coleção de
nomes de Alunos

M.Sc. Már...
Exercício 06: Inicialização da ListView

Declaração de
Novos Atributos

Inicializa o Adapter, com
a atividade contexto (th...
Exercício 06: Inicialização da ListView

Declaração de
Novos Atributos

Associação do
Adapter à ListView

M.Sc. Márcio Pal...
Passo-a-passo
●

Agora, podemos atualizar o evento de clique do botão
Adicionar Aluno;

●

Maaaas, o que devemos fazer qua...
Exercício 07: Evento de Click do botão
●

No final do método onCreate(), inclua:
Implementação do
Evento de Clique

M.Sc. ...
Exercício 07: Evento de Click do botão
●

No final do método onCreate(), inclua:
Implementação do
Evento de Clique

Adicio...
Exercício 07: Evento de Click do botão
●

No final do método onCreate(), inclua:
Implementação do
Evento de Clique

Limpa ...
Exercício 07: Evento de Click do botão
●

No final do método onCreate(), inclua:
Implementação do
Evento de Clique

Atuali...
Dando um “confere” no resultado
●

Rode sua App

●

Inclua alguns nomes

●

●

Ainda poderíamos agregar
mais alguma
funcio...
Evento de click da ListView
●

Assim como Button, a ListView possui o evento de click

●

Contudo, a ListView apresenta do...
Exercício 08: Cliques da ListView

M.Sc. Márcio Palheta

50/75
Implementação do Evento
de Clique Simples

Exercício 08: Cliques da ListView

M.Sc. Márcio Palheta

51/75
Implementação do Evento
de Clique Simples

Exercício 08: Cliques da ListView

Implementação do Evento
de Clique Longo

M.S...
Implementação do Evento
de Clique Simples

Exercício 08: Cliques da ListView

Implementação do Evento
de Clique Longo

Ret...
Resultado dos cliques

M.Sc. Márcio Palheta

54/75
Resultado dos cliques

M.Sc. Márcio Palheta

55/75
E quando giramos o device?

M.Sc. Márcio Palheta

56/75
E quando giramos o device?
Antes do giro,
lista preenchida :-)

M.Sc. Márcio Palheta

57/75
E quando giramos o device?
Antes do giro,
lista preenchida :-)
Depois do giro,
lista vazia :-(

M.Sc. Márcio Palheta

58/7...
E quando giramos o device?
Antes do giro,
lista preenchida :-)

Quando giramos o device,
o Android invoca novamente
o méto...
E quando giramos o device?
Antes do giro,
lista preenchida :-)

Quando giramos o device,
o Android invoca novamente
o méto...
Persistência do estado da Activity
●

●

●

Podemos armazenar o estado da app antes dela ser
pausada, parada ou destruída
...
Persistência do estado da Activity

M.Sc. Márcio Palheta

62/75
Persistência do estado da Activity
●

●

●

●

Para salvar o estado da Activity, podemos usar o objeto
Bundle, gerenciado ...
Passo-a-passo
●

Na classe ListaAlunosActivity, defina duas constantes:
–

–

●

●

String TAG = "CADASTRO_ALUNO" – Usada ...
Exercício 09: Salvar estado da Activity
●

No início da Activity, vamos incluir as novas constantes:

M.Sc. Márcio Palheta...
Exercício 09: Salvar estado da Activity
●

No início da Activity, vamos incluir as novas constantes:

M.Sc. Márcio Palheta...
Exercício 09: Salvar estado da Activity
●

Após a definição de atributos, inclua o novo método:

M.Sc. Márcio Palheta

67/...
Exercício 09: Salvar estado da Activity
●

Após a definição de atributos, inclua o novo método:

M.Sc. Márcio Palheta

68/...
Exercício 09: Salvar estado da Activity
●

Após o método onSaveInstanceState(), inclua:

M.Sc. Márcio Palheta

69/75
Exercício 09: Salvar estado da Activity
●

Após o método onSaveInstanceState(), inclua:

M.Sc. Márcio Palheta

70/75
E agora, quando giramos o device...
Antes do giro,
lista preenchida :-)
Depois do giro,
lista continua
preenchida :-)

M.S...
Resultado exibido no LogCat
●

Pelas mensagens de log, verificamos a lista de alunos
sendo salva e recuperada do objeto Bu...
O que vem a seguir?
●

Tela de Dados do Aluno

●

Persistência com SQLite

●

Intents

●

Câmera e arquivos

●

LayoutInfl...
Referências
●

www.caelum.com.br

●

d.android.com

●

●

LECHETA, Ricardo. Google Android, 3a edição,
Novatec, São Paulo,...
Capítulo 02: Cadastro de Alunos
Próxima SlideShare
Cargando en…5
×

Capítulo 02 - Cadastro de Alunos e Decisões de Projeto

7.696 visualizaciones

Publicado el

Segunda aula do curso básico de formação Android. Meu objetivo é ajudar programadores iniciantes a enveredarem pelos caminhos dessa plataforma que ganha mais espaço no mercado, a cada dia que passa.
Discutimos temas como:
1. Definições de uma App, baseada em Casos de Uso;
2. Como trabalhar com Internacionalização (I18N) ?
3. Layouts e componentes EditText, Button e ListView;
4. Como implementar Eventos de Click do Botão?
5. Como trabalhar com ListView e Adapter(s) ?
6. Notificações de atualização do Adapter;
7. ListView e os clicks Curto (OnItemClickListener) e Longo (OnItemLongClickListener)
8. Persistência do estado da Activity utilizando Bundle


Publicado en: Tecnología

Capítulo 02 - Cadastro de Alunos e Decisões de Projeto

  1. 1. Capítulo 02: Cadastro de Alunos
  2. 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 2/75
  3. 3. Agenda ● Definições de projeto – Registro Acadêmico ● Pensando em Casos de Uso ● Criação de uma nova App ● Criação da Tela de Listagem de Alunos ● Trabalhando com ListView, List e Adapters ● Integração entre componentes de tela e controladores ● Alertas baseados no componente Toast ● Evento de clique simples em uma lista ● Evento de clique longo M.Sc. Márcio Palheta 3/75
  4. 4. Definições de Projeto ● ● Como estratégia para apresentação do conteúdo deste curso, realizaremos a implementação de uma app para Manipulação de Dados de Alunos Em linhas gerais, nossa app consiste em: – Manter dados de alunos; – Entrar em contato com alunos; – Trocar dados com um servidor WEB; E – Compartilhar conteúdo em mídias ; M.Sc. Márcio Palheta 4/75
  5. 5. Funcionalidades da nossa App M.Sc. Márcio Palheta 5/75
  6. 6. Funcionalidades da nossa App M.Sc. Márcio Palheta 6/75
  7. 7. Começando pelo cadastro ● ● ● ● ● Neste requisito da nossa App, precisamos de: Uma tela para listar Alunos E outra para cadastrar ou alterar dados de Alunos A exclusão deve ocorrer com a seleção de um aluno na tela de listagem Vamos começar criando uma nova Android Application M.Sc. Márcio Palheta 7/75
  8. 8. Exercício 01: Nova Android Application M.Sc. Márcio Palheta 8/75
  9. 9. Exercício 01: Nova Android Application ● Clique em Next, até chegar à última tela: M.Sc. Márcio Palheta 9/75
  10. 10. Estrutura de pastas da App M.Sc. Márcio Palheta 10/75
  11. 11. Exercício 02: Tela de listagem ● Agora vamos definir a Tela de listagem de alunos ● Nossa tela precisa dos seguintes componentes: – Lista: apresentação dos nomes dos alunos. O componente com essa função é o ListView, que recebe uma coleção de Objetos e lista seus dados – Campo de texto: onde o usuário informa o nome de um aluno que deseja incluir na listagem. Usaremos o EditText – Botão: para adicionar o nome do aluno à lista. Usaremos o componente Button. M.Sc. Márcio Palheta 11/75
  12. 12. Exercício 02: Tela de listagem ● Altere o arquivo: /res/values/strings.xml M.Sc. Márcio Palheta 12/75
  13. 13. Exercício 02: Tela de listagem ● Altere o arquivo: /res/values/strings.xml Strings usadas na Tela de Listagem M.Sc. Márcio Palheta 13/75
  14. 14. Exercício 02: Tela de listagem ● Altere: /res/layout/listaalunoslayout.xml M.Sc. Márcio Palheta 14/75
  15. 15. Exercício 02: Tela de listagem ● Altere: /res/layout/listaalunoslayout.xml Campo de Texto id=edNomeListagem M.Sc. Márcio Palheta 15/75
  16. 16. Exercício 02: Tela de listagem ● Altere: /res/layout/listaalunoslayout.xml Componente Botão id=btAddListagem M.Sc. Márcio Palheta 16/75
  17. 17. Exercício 02: Tela de listagem ● Altere: /res/layout/listaalunoslayout.xml Componente Lista para exibir Alunos id=lvListagem M.Sc. Márcio Palheta 17/75
  18. 18. Exercício 02: Tela de listagem ● ● ● ● Execute sua App Repare que os os componentes EditText e Button estão visíveis No entanto, a ListView não aparece Isso ocorre porque nossa lista ainda está vazia M.Sc. Márcio Palheta 18/75
  19. 19. Exercício 02: Tela de listagem ● ● ● ● Campo de Texto e Botão estão Execute sua App disponíveis Repare que os os componentes EditText e Button estão visíveis No entanto, a ListView não aparece Isso ocorre porque nossa lista ainda está vazia M.Sc. Márcio Palheta 19/75
  20. 20. Exercício 02: Tela de listagem ● ● ● ● Campo de Texto e Botão estão Execute sua App disponíveis Repare que os os componentes EditText e Button estão visíveis Nossa Lista de alunos entanto, a está vazia ainda ListView No não aparece Isso ocorre porque nossa lista ainda está vazia M.Sc. Márcio Palheta 20/75
  21. 21. Controladores e as regras de negócio ● ● ● As telas (xml) que criamos em Android estão associadas a classes Java (controladores), responsáveis pela implementação de suas regras de negócio A nossa tela listaalunoslayou.xml é controlada pela classe ListaAlunosActivity.java A classe de controle captura os eventos e componentes da tela e implementa as regrasde negócio necessárias às funcionalidades da nossa App M.Sc. Márcio Palheta 21/75
  22. 22. Exercício 03: Atributos e coleção M.Sc. Márcio Palheta 22/75
  23. 23. Exercício 03: Atributos e coleção Componente de Tela, acessados na classe de controle M.Sc. Márcio Palheta 23/75
  24. 24. Exercício 03: Atributos e coleção Objeto que guarda a coleção de Alunos M.Sc. Márcio Palheta 24/75
  25. 25. Exercício 03: Atributos e coleção Método que pode ser usado para inicializar os atributos M.Sc. Márcio Palheta 25/75
  26. 26. Exercício 04: Inicialização de atributos M.Sc. Márcio Palheta 26/75
  27. 27. Exercício 04: Inicialização métodoatributos O de setContentView(...) associa uma Tela(.xml) a uma classe de controle (Activity.java) M.Sc. Márcio Palheta 27/75
  28. 28. Exercício 04: Inicialização de atributos O método findViewById(...) associa componentes da View a atributos da Activity M.Sc. Márcio Palheta 28/75
  29. 29. Exercício 04: Inicialização de atributos O método setOnClickListener(...) é usado para captura do Clique do Botão M.Sc. Márcio Palheta 29/75
  30. 30. Exercício 04: Inicialização de atributos O método setOnClickListener(...) é usado para captura do Clique do Botão É comum utilizarmos uma implementação anônima da Interface OnClickListener M.Sc. Márcio Palheta 30/75
  31. 31. Itens a ponderar ● ● ● ● Precisamos inicializar a coleção de alunos e exibir os nomes na nossa ListView Contudo, uma ListView é um componente de tela que pode assumir diversos formatos de visualização Com isso, a ListView precisa da ajuda de alguém que saiba como organizar os dados na tela Ou seja, a ListView precisa do apoio de um Adaptador, que saiba converter objetos Java para componetes de Tela. Chamamos esse Objeto de apoio de Adapter. M.Sc. Márcio Palheta 31/75
  32. 32. ListView's com layouts diferentes M.Sc. Márcio Palheta 32/75
  33. 33. Exercício 05: Novos atributos M.Sc. Márcio Palheta 33/75
  34. 34. Exercício 05: Novos atributos Declaração de Novos Atributos M.Sc. Márcio Palheta 34/75
  35. 35. Exercício 05: Novos atributos Objeto que converte Listas e Vetores em View Declaração de Novos Atributos M.Sc. Márcio Palheta 35/75
  36. 36. Exercício 05: Novos atributos Declaração de Novos Atributos Definição do Layout que o Adapter usará M.Sc. Márcio Palheta 36/75
  37. 37. Passo-a-passo ● Agora que já: – – ● associamos objetos java a componentes de tela e criamos o adptador que sabe exibir List<Strings> Vamos inicializar: – – O adaptador (ArrayAdapter<String>); e – ● A coleção de nomes de Alunos(List<Strings>); A ListView que vai exibir os nomes na tela; No final, associaremos o adaptador à ListView M.Sc. Márcio Palheta 37/75
  38. 38. Exercício 06: Inicialização da ListView M.Sc. Márcio Palheta 38/75
  39. 39. Exercício 06: Inicialização da ListView Declaração de Novos Atributos M.Sc. Márcio Palheta 39/75
  40. 40. Exercício 06: Inicialização da ListView Declaração de Novos Atributos Inicializa a coleção de nomes de Alunos M.Sc. Márcio Palheta 40/75
  41. 41. Exercício 06: Inicialização da ListView Declaração de Novos Atributos Inicializa o Adapter, com a atividade contexto (this), layout padrão(adapterLayout) e a coleção de alunos (listaAlunos) M.Sc. Márcio Palheta 41/75
  42. 42. Exercício 06: Inicialização da ListView Declaração de Novos Atributos Associação do Adapter à ListView M.Sc. Márcio Palheta 42/75
  43. 43. Passo-a-passo ● Agora, podemos atualizar o evento de clique do botão Adicionar Aluno; ● Maaaas, o que devemos fazer quando do clique? ● Precisamos: – Adicionar o nome digitado no campo edNome à coleção listaAlunos; – Limpar o conteúdo do campo edNome; e – Atualizar o conteúdo da ListView M.Sc. Márcio Palheta 43/75
  44. 44. Exercício 07: Evento de Click do botão ● No final do método onCreate(), inclua: Implementação do Evento de Clique M.Sc. Márcio Palheta 44/75
  45. 45. Exercício 07: Evento de Click do botão ● No final do método onCreate(), inclua: Implementação do Evento de Clique Adiciona o nome Informado no campo edNome à coleção M.Sc. Márcio Palheta 45/75
  46. 46. Exercício 07: Evento de Click do botão ● No final do método onCreate(), inclua: Implementação do Evento de Clique Limpa o conteúdo do campo edNome M.Sc. Márcio Palheta 46/75
  47. 47. Exercício 07: Evento de Click do botão ● No final do método onCreate(), inclua: Implementação do Evento de Clique Atualiza o conteúdo da ListView M.Sc. Márcio Palheta 47/75
  48. 48. Dando um “confere” no resultado ● Rode sua App ● Inclua alguns nomes ● ● Ainda poderíamos agregar mais alguma funcionalidade? Que tal exibir um alerta com o nome do aluno, quando do clique em um nome da lista? M.Sc. Márcio Palheta 48/75
  49. 49. Evento de click da ListView ● Assim como Button, a ListView possui o evento de click ● Contudo, a ListView apresenta dois tipos de click: – – ● Click curto, quando o usuário clica em um item da ListView; e Click Longo, quando o usuário clica e segura um item da ListView ; Vamos implementar os eventos de clique Longo e Simples no final do método onCreate() M.Sc. Márcio Palheta 49/75
  50. 50. Exercício 08: Cliques da ListView M.Sc. Márcio Palheta 50/75
  51. 51. Implementação do Evento de Clique Simples Exercício 08: Cliques da ListView M.Sc. Márcio Palheta 51/75
  52. 52. Implementação do Evento de Clique Simples Exercício 08: Cliques da ListView Implementação do Evento de Clique Longo M.Sc. Márcio Palheta 52/75
  53. 53. Implementação do Evento de Clique Simples Exercício 08: Cliques da ListView Implementação do Evento de Clique Longo Retorno == true: não executa o click simples Retorno == false: executa o click simples M.Sc. Márcio Palheta 53/75
  54. 54. Resultado dos cliques M.Sc. Márcio Palheta 54/75
  55. 55. Resultado dos cliques M.Sc. Márcio Palheta 55/75
  56. 56. E quando giramos o device? M.Sc. Márcio Palheta 56/75
  57. 57. E quando giramos o device? Antes do giro, lista preenchida :-) M.Sc. Márcio Palheta 57/75
  58. 58. E quando giramos o device? Antes do giro, lista preenchida :-) Depois do giro, lista vazia :-( M.Sc. Márcio Palheta 58/75
  59. 59. E quando giramos o device? Antes do giro, lista preenchida :-) Quando giramos o device, o Android invoca novamente o método onCreate() da nossa Activity M.Sc. Márcio Palheta Depois do giro, lista vazia :-( 59/75
  60. 60. E quando giramos o device? Antes do giro, lista preenchida :-) Quando giramos o device, o Android invoca novamente o método onCreate() da nossa Activity Depois do giro, lista vazia :-( Com isso, todos os componentes retornam ao estado inicial M.Sc. Márcio Palheta 60/75
  61. 61. Persistência do estado da Activity ● ● ● Podemos armazenar o estado da app antes dela ser pausada, parada ou destruída Para isso, utilizamos Métodos de Callback, que são métodos usados quando o cliente requer um retorno do servidor, mas não quer ficar bloqueado, esperando. onSaveInstanceState(): chamado quando o Android vai destruir a Activity, mas sabe que vai restaurá-la depois; – ● Não é chamado quando usuário clica em Back onRestoreInstanceState(): Chamado antes da Activity destruída ser chamada pelo usuário M.Sc. Márcio Palheta 61/75
  62. 62. Persistência do estado da Activity M.Sc. Márcio Palheta 62/75
  63. 63. Persistência do estado da Activity ● ● ● ● Para salvar o estado da Activity, podemos usar o objeto Bundle, gerenciado pelo Android O Bundle empacota um java.util.Map O Objeto Bundle é passado pelo Android aos métodos onCreate(), onSaveInstanceState() e onRestoreInstanceState() Podemos utilizar o Map empacotado no Bundle para armazenar o estado da nossa App M.Sc. Márcio Palheta 63/75
  64. 64. Passo-a-passo ● Na classe ListaAlunosActivity, defina duas constantes: – – ● ● String TAG = "CADASTRO_ALUNO" – Usada para registro de mensagens de LOG no Logcat String ALUNOS_KEY = "LISTA" – Usada como Chave para o Map do Objeto Bundle; Implemente os métodos onSaveInstanceState() e onRestoreInstanceState() Atualize o método onCreate(), para tentar recuperar a chave ALUNOS_KEY do Bundle M.Sc. Márcio Palheta 64/75
  65. 65. Exercício 09: Salvar estado da Activity ● No início da Activity, vamos incluir as novas constantes: M.Sc. Márcio Palheta 65/75
  66. 66. Exercício 09: Salvar estado da Activity ● No início da Activity, vamos incluir as novas constantes: M.Sc. Márcio Palheta 66/75
  67. 67. Exercício 09: Salvar estado da Activity ● Após a definição de atributos, inclua o novo método: M.Sc. Márcio Palheta 67/75
  68. 68. Exercício 09: Salvar estado da Activity ● Após a definição de atributos, inclua o novo método: M.Sc. Márcio Palheta 68/75
  69. 69. Exercício 09: Salvar estado da Activity ● Após o método onSaveInstanceState(), inclua: M.Sc. Márcio Palheta 69/75
  70. 70. Exercício 09: Salvar estado da Activity ● Após o método onSaveInstanceState(), inclua: M.Sc. Márcio Palheta 70/75
  71. 71. E agora, quando giramos o device... Antes do giro, lista preenchida :-) Depois do giro, lista continua preenchida :-) M.Sc. Márcio Palheta 71/75
  72. 72. Resultado exibido no LogCat ● Pelas mensagens de log, verificamos a lista de alunos sendo salva e recuperada do objeto Bundle M.Sc. Márcio Palheta 72/75
  73. 73. O que vem a seguir? ● Tela de Dados do Aluno ● Persistência com SQLite ● Intents ● Câmera e arquivos ● LayoutInflater ● Serviços de background ● Integração via JSON M.Sc. Márcio Palheta 73/75
  74. 74. 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 74/75
  75. 75. Capítulo 02: Cadastro de Alunos

×