Fundamentos de Android
-
Upload
felipepalma14 -
Category
Documents
-
view
13 -
download
4
Transcript of Fundamentos de Android
![Page 1: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/1.jpg)
Capítulo 1: Introdução ao Android
![Page 2: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/2.jpg)
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
● sites.google.com/site/marciopalheta
![Page 3: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/3.jpg)
M.Sc. Márcio Palheta
3/96
Agenda● Dispositivos e o mercado Android
● Instalação do Android Studio
● Gestão de dependências com Gradle
● Controle de versão com GIT
● Trabalhando com o simulador
● Conceitos iniciais - Ciclo de vida de uma Activity
● Usando a pasta de recursos – RES
● Entendendo a classe R.java
● Componentes de tela – por dentro do XML
● Planejamento das telas baseadas em Layouts
![Page 4: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/4.jpg)
M.Sc. Márcio Palheta 4/96
Dispositivos e compatibilidade
![Page 5: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/5.jpg)
M.Sc. Márcio Palheta
5/96
Ambiente de desenvolvimento
● A primeira IDE para desenvolvimento Android foi o Eclipse, usando Android SDK e o plugin ADT Android Developer Tools
● Nessa época, baixávamos:
– O Eclipse Indigo com ADT configurado; ou
– Instalávamos ADT e SDK em uma versão mais nova do Eclipse; ou
– Usávamos o IntelliJ Idea, IDE muito boa e paga. ● Contudo, o Google resolveu criar uma IDE própria para o
Android, baseada no IntelliJ, o Android Studio
![Page 6: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/6.jpg)
M.Sc. Márcio Palheta
6/96
Instalação do Android Studio
● Baixe o Android Studio
● http://developer.android.com/sdk/index.html
● Execute a nova IDE
![Page 7: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/7.jpg)
M.Sc. Márcio Palheta
7/96
Instalação do Android Studio
● Baixe o Android Studio
● http://developer.android.com/sdk/index.html
● Execute a nova IDE
● Na tela de Wizard,
Click em Next
![Page 8: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/8.jpg)
M.Sc. Márcio Palheta
8/96
Instalação do Android Studio
● Baixe o Android Studio
● http://developer.android.com/sdk/index.html
● Execute a nova IDE
● Na tela de Wizard,
Click em Next
● Selecione a opção
Standard e clique
em Next
![Page 9: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/9.jpg)
M.Sc. Márcio Palheta
9/96
Instalação do Android Studio
● Baixe o Android Studio
● http://developer.android.com/sdk/index.html
● Execute a nova IDE
● Na tela de Wizard,
Click em Next
● Selecione a opção
Standard e clique
em Next
● Aceite o contrato
E clicque em Finish
![Page 10: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/10.jpg)
M.Sc. Márcio Palheta
10/96
Baixando arquivos de configuração
● O Android Studio fará download dos componentes necessários, como a versão mais nova do Android SDK
● Esse processo pode ser demorado
![Page 11: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/11.jpg)
M.Sc. Márcio Palheta
11/96
Pensando no projeto Agenda Escolar
● Nova Android APP: Agenda Escolar
● Cadastro de professores
● Interação com professores
– SMS, Ligações, E-mails, Sites, Redes sociais
– Localização no mapa
● Sincronização com Serviço Web
● Baixa e Listagem de disciplinas e ementas
![Page 12: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/12.jpg)
M.Sc. Márcio Palheta
12/96
Pensando no projeto – Agenda escolar
![Page 13: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/13.jpg)
M.Sc. Márcio Palheta
13/96
Pensando no projeto – Agenda escolar
Nosso ponto de partida
![Page 14: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/14.jpg)
M.Sc. Márcio Palheta
14/96
Tela de boas vindas
![Page 15: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/15.jpg)
M.Sc. Márcio Palheta
15/96
Tela de boas vindas
Nosso primeiro projeto
![Page 16: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/16.jpg)
M.Sc. Márcio Palheta
16/96
Criação do projeto AGENDA
Nome da aplicação
![Page 17: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/17.jpg)
M.Sc. Márcio Palheta
17/96
Criação do projeto AGENDA
Pacote da aplicação
![Page 18: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/18.jpg)
M.Sc. Márcio Palheta
18/96
Criação do projeto AGENDA
Diretório da aplicação
![Page 19: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/19.jpg)
M.Sc. Márcio Palheta
19/96
Tipo de aplicação
Telefones e Tablets
![Page 20: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/20.jpg)
M.Sc. Márcio Palheta
20/96
Tela inicial padrão
![Page 21: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/21.jpg)
M.Sc. Márcio Palheta
21/96
Tela inicial padrãoPrimeira Activity
![Page 22: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/22.jpg)
M.Sc. Márcio Palheta
22/96
Configurações da tela inicial
![Page 23: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/23.jpg)
M.Sc. Márcio Palheta
23/96
Configurações da tela inicial
Dados da Tela inicial
![Page 24: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/24.jpg)
M.Sc. Márcio Palheta
24/96
Bem vindo ao Android Studio!
![Page 25: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/25.jpg)
M.Sc. Márcio Palheta
25/96
Bem vindo ao Android Studio!
Arquivos do nossoProjeto Android
![Page 26: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/26.jpg)
M.Sc. Márcio Palheta
26/96
Bem vindo ao Android Studio!
Paleta de componentes
![Page 27: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/27.jpg)
M.Sc. Márcio Palheta
27/96
Bem vindo ao Android Studio!
Pré-visualização de tela
![Page 28: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/28.jpg)
M.Sc. Márcio Palheta 28/96
O que foi gerado?
● manifests: pasta de arquivo de configuração
– AndroidManifest.xml: arquivo de configuração
● Java: pasta onde são armazenados os arquivos .java criados em nossa App
– ProfessorForm: classe de controle do formulário de dados do professor
![Page 29: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/29.jpg)
M.Sc. Márcio Palheta 29/96
A classe ProfessorForm.java
![Page 30: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/30.jpg)
M.Sc. Márcio Palheta 30/96
A classe ProfessorForm.javaClasse filha de
ActionBarActivity
![Page 31: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/31.jpg)
M.Sc. Márcio Palheta 31/96
A classe ProfessorForm.javaMétodo inicial
![Page 32: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/32.jpg)
M.Sc. Márcio Palheta 32/96
A classe ProfessorForm.javaMétodo inicial
Método que carregao menu principal
![Page 33: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/33.jpg)
M.Sc. Márcio Palheta 33/96
A classe ProfessorForm.javaMétodo inicial
Método que carregao menu principal
Método que devolveo click no menu
![Page 34: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/34.jpg)
M.Sc. Márcio Palheta 34/96
O que foi gerado?
● res: pasta onde ficam os recursos utilizados pelas Apps
● res/drawable: pasta de imagens da nossa App
● res/layout: telas da App
– professorformlayout.xml tela para edição de dados do professor
● res/menu: menus da App
– professorformmenu.xml menu da tela de dados
![Page 35: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/35.jpg)
M.Sc. Márcio Palheta 35/96
Tela professorformlayout.xml
![Page 36: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/36.jpg)
M.Sc. Márcio Palheta 36/96
Tela professorformlayout.xmlComponentede organização
da tela
![Page 37: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/37.jpg)
M.Sc. Márcio Palheta 37/96
Tela professorformlayout.xmlComponentede organização
da tela Atributos deAltura e Largura
obrigatórios
![Page 38: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/38.jpg)
M.Sc. Márcio Palheta 38/96
Tela professorformlayout.xmlComponentede organização
da tela Atributos deAltura e Largura
obrigatórios
Componente deTexto
![Page 39: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/39.jpg)
M.Sc. Márcio Palheta 39/96
O que foi gerado?
● res/mipmap: pasta de ícones da App
– ic_launcher.png: ícone da App. Precisamos de um ícone para cada resolução
● res/values
– dimens.xml: dimensões de compenentes
– strings.xml: internacionalização
– styles.xml: configuração de estilo da App
![Page 40: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/40.jpg)
M.Sc. Márcio Palheta 40/96
A pasta RES e os Qualifiers
● RES/VALUES/ pasta que utiliza qualifiers para facilitar a internacionalização da aplicação
● O programador pode criar uma pasta values para cada idioma que deseja suportar.
● Para isso, usamos no nome da pasta qualificadores que indicam o idioma e o país
● O Android carrega automaticamente a pasta mais adequada às configurações do DEVICE.
– values: pasta padrão
– values-pt-rBR: português Brasil
– values-en-rUS: inglês Estados Unidos
![Page 41: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/41.jpg)
M.Sc. Márcio Palheta 41/96
O Arquivo res/values/strings.xml
● O Android já tem a preocupação nativa com a Internacionalização (I18N) das Apps.
● O arquivo string.xml segue o padrão CHAVE e VALOR
![Page 42: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/42.jpg)
M.Sc. Márcio Palheta 42/96
O Arquivo res/values/strings.xml
● O Android já tem a preocupação nativa com a Internacionalização (I18N) das Apps.
● O arquivo string.xml segue o padrão CHAVE e VALOR
Chave usada na view
![Page 43: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/43.jpg)
M.Sc. Márcio Palheta 43/96
O Arquivo res/values/strings.xml
● O Android já tem a preocupação nativa com a Internacionalização (I18N) das Apps.
● O arquivo string.xml segue o padrão CHAVE e VALOR
Chave usada na view
Valor a serexibido na view
![Page 44: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/44.jpg)
M.Sc. Márcio Palheta 44/96
A pasta RES e os Qualifiers
● RES/DRAWABLE/ pasta que armazenas imagens da app.
● Usa qualifiers para definir a resolução a ser utilizada:
– res/drawable-ldpi: dispositivos com baixa resolução(muito raros)
– res/drawable-mdpi: dispositivos com resolução média(raros)
– res/drawable-hdpi: alta resolução(maioria)
– res/drawable-tvdpi: televisões● RES/RAW/ armazena arquivos de mídia, como mp3 ou
vídeos
![Page 45: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/45.jpg)
M.Sc. Márcio Palheta
45/96
Atualização do Android SDK
● É uma boa prática manter o Android Studio atualizado
● Na barra de menu do sistema, selecione o Android SDK Manager
![Page 46: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/46.jpg)
M.Sc. Márcio Palheta
46/96
Atualização do Android SDK
● É uma boa prática manter o Android Studio atualizado
● Na barra de menu do sistema, selecione o Android SDK Manager
Dados da Android SDK Manager
![Page 47: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/47.jpg)
M.Sc. Márcio Palheta
47/96
Atualização do SDK
Atualizações pendentes
![Page 48: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/48.jpg)
M.Sc. Márcio Palheta
48/96
Aceite da licença de instalaçãoSelecione a licença
![Page 49: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/49.jpg)
M.Sc. Márcio Palheta
49/96
Aceite da licença de instalação
Aceite a licença
Selecione a licença
![Page 50: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/50.jpg)
M.Sc. Márcio Palheta
50/96
Ao final da atualização
Os botões de Instalação e Delete estarão desativados
![Page 51: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/51.jpg)
M.Sc. Márcio Palheta
51/96
Execução no Emulador Nativo
● Para testarmos como está ficando a nossa app, podemos utilizar os devices ou emuladores, clicando em RUN
Início da execução da App
![Page 52: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/52.jpg)
M.Sc. Márcio Palheta
52/96
Seleção do dispositivo para execução
![Page 53: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/53.jpg)
M.Sc. Márcio Palheta
53/96
Seleção do dispositivo para execuçãoExecutar a App emum DEVICE conectado
à porta USB
![Page 54: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/54.jpg)
M.Sc. Márcio Palheta
54/96
Seleção do dispositivo para execução
Executar a App emum EMULADOR
![Page 55: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/55.jpg)
M.Sc. Márcio Palheta
55/96
Execução da App no emulador nativo
![Page 56: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/56.jpg)
M.Sc. Márcio Palheta
56/96
Pensando em performance
● Os emuladores nativos do Android Studio, assim como os do Eclipse, são pesados e exigem um certo poder de processamento das máquinas, podendo causar lentidão no processo de testes da App.
● A solução mais rápida é fazer o deploy e testes direto em um device real.
● Contudo, uma aplicação móvel pode rodar em dispositivos com tamanhos e resoluções de telas diversos. Nem sempre temos esse leque de dispositivos à nossa disposição, para testar nossas apps.
● O Genymotion é um emulador com performance melhor que a dos nativos e tem ganho visibilidade no mercado
![Page 57: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/57.jpg)
M.Sc. Márcio Palheta
57/96
Instalação do Genymotion
● O Genymotion precisa de uma máquina virtual, para fazer a emulação de devices
● Baixe e instale a VirtualBox:
https://www.virtualbox.org/wiki/Downloads
![Page 58: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/58.jpg)
M.Sc. Márcio Palheta
58/96
Instalação do Genymotion
● Crie uma conta em: https://www.genymotion.com/
● Baixe e instale: https://www.genymotion.com/#!/product
![Page 59: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/59.jpg)
M.Sc. Márcio Palheta
59/96
Execute o Genymotion
Vamos adicionar umNovo EMULADOR
![Page 60: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/60.jpg)
M.Sc. Márcio Palheta
60/96
Escolha o novo emulador
![Page 61: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/61.jpg)
M.Sc. Márcio Palheta
61/96
Escolha o novo emulador
Vamos adicionar umNovo EMULADOR
![Page 62: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/62.jpg)
M.Sc. Márcio Palheta
62/96
Nome do Virtual Device
![Page 63: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/63.jpg)
M.Sc. Márcio Palheta
63/96
Nome do Virtual Device
Confirme o nome doNovo EMULADOR
![Page 64: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/64.jpg)
M.Sc. Márcio Palheta
64/96
Tela de progresso
![Page 65: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/65.jpg)
M.Sc. Márcio Palheta
65/96
Download concluído
Clique em Finish
![Page 66: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/66.jpg)
M.Sc. Márcio Palheta
66/96
Inicialização do Virtual Device
![Page 67: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/67.jpg)
M.Sc. Márcio Palheta
67/96
Inicialização do Virtual Device
Selecione oEMULADOR
![Page 68: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/68.jpg)
M.Sc. Márcio Palheta
68/96
Inicialização do Virtual Device
Selecione oEMULADOR
Inicie oEMULADOR
![Page 69: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/69.jpg)
M.Sc. Márcio Palheta
69/96
Inicialização do Virtual Device
![Page 70: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/70.jpg)
M.Sc. Márcio Palheta
70/96
Genymotion no Android Studio
● Vá ao menu Preferences / Plugins - "Browse Repositories”
![Page 71: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/71.jpg)
M.Sc. Márcio Palheta
71/96
Instalação do plugin
● Pesquise por “genymotion”, selecione e instale o plugin
![Page 72: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/72.jpg)
M.Sc. Márcio Palheta
72/96
Configure o path do GenymotionInicie o
Genymotion
![Page 73: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/73.jpg)
M.Sc. Márcio Palheta
73/96
Configure o path do Genymotion
Informe o local de instalação do Genymotion
![Page 74: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/74.jpg)
M.Sc. Márcio Palheta
74/96
Execute o Genymotion
Escolha e inicieo emulador
![Page 75: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/75.jpg)
M.Sc. Márcio Palheta
75/96
Execute o Genymotion
Andamento dainicialização
![Page 76: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/76.jpg)
M.Sc. Márcio Palheta
76/96
Rode a aplicação no Genymotion
![Page 77: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/77.jpg)
M.Sc. Márcio Palheta
77/96
Aplicação no Genymotion
![Page 78: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/78.jpg)
M.Sc. Márcio Palheta 78/96
Fundamentos de Android
Código fonteJAVA (.java)
Compilador(javac)
BytecodeJAVA (.class)
Empacota(.jar)
JAVAVM
PROJETOS JAVA
![Page 79: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/79.jpg)
M.Sc. Márcio Palheta 79/96
Fundamentos de Android
Código fonteJAVA (.java)
Compilador(javac)
BytecodeJAVA (.class)
Empacota(.jar)
JAVAVM
PROJETOS JAVA
Código fonteJAVA (.java)
Compilador(javac)
BytecodeJAVA (.class)
Empacota(.dex)
DALVIKVM
PROJETOS ANDROID
![Page 80: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/80.jpg)
M.Sc. Márcio Palheta 80/96
Fundamentos de Android - Estrutura
![Page 81: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/81.jpg)
M.Sc. Márcio Palheta 81/96
Ciclo de vida - Activity
![Page 82: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/82.jpg)
M.Sc. Márcio Palheta 82/96
Ciclo de vida - ActivityChamado quando a Appé criada. Usado para
criação da view e acessoa componentes.
![Page 83: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/83.jpg)
M.Sc. Márcio Palheta 83/96
Ciclo de vida - ActivityChamado quando a Appé criada. Usado para
criação da view e acessoa componentes.
Chamado antes da App ficar Visível na tela. Se der tudo certo, chama onResume(), senão,
onStop().
![Page 84: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/84.jpg)
M.Sc. Márcio Palheta 84/96
Ciclo de vida - ActivityChamado quando a Appé criada. Usado para
criação da view e acessoa componentes.
Chamado antes da App ficar Visível na tela. Se der tudo certo, chama onResume(), senão,
onStop().
Chamado quando a App está em 1o plano, ondeocorre interação com o
usuário.
![Page 85: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/85.jpg)
M.Sc. Márcio Palheta 85/96
Ciclo de vida - Activity
Ocorre quando o Android chama outra atividade.
A nossa App perde o direito à tela.
![Page 86: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/86.jpg)
M.Sc. Márcio Palheta 86/96
Ciclo de vida - Activity
Ocorre quando o Android chama outra atividade.
A nossa App perde o direito à tela.
Ocorre quando a Activity está a muito
tempo fora da tela
![Page 87: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/87.jpg)
M.Sc. Márcio Palheta 87/96
Ciclo de vida - Activity
Ocorre quando o Android chama outra atividade.
A nossa App perde o direito à tela.
Última chance da Appexecutar algo. Ocorre
porque o Android precisade recursos, ou usuário
finalizou a App
Ocorre quando a Activity está a muito
tempo fora da tela
![Page 88: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/88.jpg)
M.Sc. Márcio Palheta 88/96
Exercício 02: Teste de eventos
● Vamos alterar nossa classe OlaMundoActivity para incluir mensagens de log, lançadas a cada evento do ciclo de vida da Activity
● Que tal usarmos o famoso sysout ? Nem pensar. :-)
● Vamos usar o LogCat
● Para isso, basta usarmos o comando:
– Log.i(“GrupoDeMensagens”, “Mensagem”)● Inclua mensagens em todos os métodos de eventos,
conforme exemplo a seguir
![Page 89: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/89.jpg)
M.Sc. Márcio Palheta 89/96
Exercício 02: Teste de eventos
![Page 90: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/90.jpg)
M.Sc. Márcio Palheta 90/96
Exercício 02: Teste de eventos
Atualização do método onCreate()
![Page 91: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/91.jpg)
M.Sc. Márcio Palheta 91/96
Exercício 02: Teste de eventos
Atualização do método onCreate()
Novos métodospara log de eventos
![Page 92: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/92.jpg)
M.Sc. Márcio Palheta 92/96
Exercício 02: resultado esperado
● Execute a App e veja as mensagens de log no LOGCAT
![Page 93: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/93.jpg)
M.Sc. Márcio Palheta 93/96
Exercício 02: resultado esperado
● Execute a App e veja as mensagens de log no LOGCAT
![Page 94: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/94.jpg)
M.Sc. Márcio Palheta 94/96
O que vem a seguir?
● Definições do projeto Agenda Escolar
● Tela de cadastro de professores
● Entendendo a herança entre Activity e ActionBarActivity
● Organização de componentes com LinearLayout
● Exibição de imagens com ImageView
● Textos com TextView
● Campos de texto com EditText
● Botões e eventos de click com Button
● Giro da tela e o armazenamento de estados
![Page 95: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/95.jpg)
M.Sc. Márcio Palheta
95/96
Referências
● d.android.com
● http://developer.android.com/guide/topics/ui/actionbar.html
● LECHETA, Ricardo. Google Android, 3a edição, Novatec, São Paulo, 2013
● Código fonte completo: https://github.com/marciopalheta/cursosandroid
![Page 96: Fundamentos de Android](https://reader033.fdocuments.net/reader033/viewer/2022052509/55cf8f2f550346703b99bf18/html5/thumbnails/96.jpg)
Capítulo 1: Introdução ao Android