0% acharam este documento útil (0 voto)
1 visualizações317 páginas

Android

O documento é um guia técnico para o desenvolvimento de aplicativos Android, elaborado pela equipe da Gillis Interactive. Ele abrange desde a introdução ao Android, suas versões, até a criação de aplicativos, incluindo exercícios práticos e anotações. O conteúdo é estruturado em aulas que detalham o uso do Android Studio e as ferramentas necessárias para o desenvolvimento.

Enviado por

Pierre Inacio
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
1 visualizações317 páginas

Android

O documento é um guia técnico para o desenvolvimento de aplicativos Android, elaborado pela equipe da Gillis Interactive. Ele abrange desde a introdução ao Android, suas versões, até a criação de aplicativos, incluindo exercícios práticos e anotações. O conteúdo é estruturado em aulas que detalham o uso do Android Studio e as ferramentas necessárias para o desenvolvimento.

Enviado por

Pierre Inacio
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

FICHA TÉCNICA

AUTOR
Equipe de Desenvolvimento Gillis Interactive

EDIÇÃO TÉCNICA
Coordenação de Desenvolvimento Gillis Interactive

REVISÃO & CONTROLE DE QUALIDADE


Equipe de Desenvolvimento

Todos os direitos reservados.


Nenhuma parte desta publicação poderá ser armazenada ou reproduzida por
qualquer meio sem autorização por escrito do Sistema de Ensino Gillis
Interactive.

DESENVOLVEDOR DE APLICATIVOS PARA


ANDROID

Desenvolvedor de Aplicativos para Android / Gillis Interactive – V4


Edição: 1ª
Idioma: português

Em conformidade com o Acordo Ortográfico da Língua Portuguesa.


DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

SUMÁRIO
AULA 01 .......................................................................................................................................... 4

INTRODUÇÃO ........................................................................................................................................ 4
História do Android ...................................................................................................................... 4
Versões do Android ...................................................................................................................... 6
Java API Framework ..................................................................................................................... 8
Native C/C++ Libraries .................................................................................................................. 8
Android Runtime .......................................................................................................................... 8
Linux Kernel .................................................................................................................................. 8
Android Studio .............................................................................................................................. 9
Requisitos de Sistema ................................................................................................................... 9
Google Play ................................................................................................................................ 10
Android Developers .................................................................................................................... 10
Montando o Ambiente ............................................................................................................... 10
Como Baixar o Java JDK ............................................................................................................. 11
EXERCÍCIOS ................................................................................................................................. 23
ANOTAÇÕES ............................................................................................................................... 23

AULA 02 .........................................................................................................................................24

PRIMEIROS PASSOS COM ANDROID STUDIO .............................................................................................. 24


EXERCÍCIOS ................................................................................................................................. 33
ANOTAÇÕES ............................................................................................................................... 34

AULA 03 .........................................................................................................................................35

CRIANDO NOSSO PRIMEIRO APLICATIVO TESTE .......................................................................................... 35


O que é Layout?.......................................................................................................................... 41
O que é View?............................................................................................................................. 42
EXERCÍCIOS ................................................................................................................................. 54
ANOTAÇÕES ............................................................................................................................... 55

AULA 04 .........................................................................................................................................56

CRIANDO SEU PRIMEIRO APLICATIVO I ..................................................................................................... 56


Configurando nosso projeto: ...................................................................................................... 59
EXERCÍCIOS ................................................................................................................................. 77
ANOTAÇÕES ............................................................................................................................... 78

AULA 05 .........................................................................................................................................79

CRIANDO SEU PRIMEIRO APLICATIVO II .................................................................................................... 79


O que são Regras de Negócios? ................................................................................................. 85
Desafio 01 .................................................................................................................................. 91
EXERCÍCIOS ................................................................................................................................. 91
ANOTAÇÕES ............................................................................................................................... 92

AULA 06 .........................................................................................................................................93

CRIANDO SEU PRIMEIRO APLICATIVO III ................................................................................................... 93


Desafio 02 ................................................................................................................................ 105
EXERCÍCIOS ............................................................................................................................... 106
ANOTAÇÕES ............................................................................................................................. 107

2
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 07 .......................................................................................................................................108

PASSANDO INFORMAÇÕES ENTRE ACTIVITYS I .......................................................................................... 108


EXERCÍCIOS ............................................................................................................................... 130
ANOTAÇÕES .............................................................................................................................. 130

AULA 08 .......................................................................................................................................131

PASSANDO INFORMAÇÕES ENTRE ACTIVITYS II .......................................................................................... 131


Desafio 03 ................................................................................................................................. 151
EXERCÍCIOS ............................................................................................................................... 152
ANOTAÇÕES .............................................................................................................................. 152

AULA 09 .......................................................................................................................................153

FRAGMENTOS .................................................................................................................................... 153


Desafio 04 ................................................................................................................................. 185
EXERCÍCIOS ............................................................................................................................... 186
ANOTAÇÕES .............................................................................................................................. 187

AULA 10 .......................................................................................................................................188

INSERINDO IMAGENS E LIST VIEWS I ....................................................................................................... 188


EXERCÍCIOS ............................................................................................................................... 207
ANOTAÇÕES .............................................................................................................................. 208

AULA 11 .......................................................................................................................................209

INSERINDO IMAGENS UTILIZANDO LISTVIEWS II........................................................................................ 209


Extras ........................................................................................................................................ 237
Desafio 05 ................................................................................................................................. 237
EXERCÍCIOS ............................................................................................................................... 239
ANOTAÇÕES .............................................................................................................................. 240

AULA 12 .......................................................................................................................................241

PROJETO BDAGENDA SQLITE – CONEXÃO COM BANCO DE DADOS SQLITE. I ................................................ 241
EXERCÍCIOS ............................................................................................................................... 255

AULA 13 .......................................................................................................................................257

PROJETO BDAGENDA SQLITE – CONEXÃO COM BANCO DE DADOS SQLITE. II ............................................... 257
EXERCÍCIOS ............................................................................................................................... 274
ANOTAÇÕES .............................................................................................................................. 275

AULA 14 .......................................................................................................................................276

PROJETO BDAGENDA SQLITE – CONEXÃO COM BANCO DE DADOS SQLITE III ............................................... 276
EXERCÍCIOS ............................................................................................................................... 301
ANOTAÇÕES .............................................................................................................................. 302
RESPOSTAS DOS DESAFIOS ....................................................................................................... 303

REFERÊNCIAS................................................................................................................................317

3
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 01
Introdução
Vivemos em um mundo cada vez mais tecnológico, onde essa evolução vem
afetando profundamente todas as nossas estruturas, sejam elas familiares, sociais
ou econômicas.
Muitas destas tecnologias, que anteriormente eram vistas como futuristas,
estão incorporando-se ao nosso dia a dia.
Em todo o mundo cada vez mais se fala em inteligência artificial, robótica
avançada, isso fez com que os aplicativos móveis se incorporassem ao nosso
cotidiano, eles podem controlar o batimento cardíaco e monitorar a saúde, pedir uma
refeição, solicitar uma carona, assistir uma série, conversar com familiares, ler um
livro, ativar nossa cafeteira, abrir o portão de casa, acender à luz, entre outras
funcionalidades, tudo isso sendo executado na palma de nossa mão através de
aplicativos.
Mas para que tudo isso possa ocorrer, existe todo um processo de produção,
desenvolvimento e concepção para estes aplicativos.
É prudente lembrar que a quantidade de smartphones vem aumentando, hoje
em dia o smartphone é o produto mais consumido no mundo, atualmente existem o
dobro de celulares com acesso à internet em comparação com o número de
computadores.
A presença massiva das empresas no ambiente digital, tornou o Brasil o
primeiro lugar quando o assunto é o uso de aplicativos para atividades cotidianas,
esse fator, além de outros, torna o mercado de trabalho de desenvolvimento de
aplicativos mobiles atrativo aos jovens que buscam uma carreira na área de TI.
Para se destacar nessa área exige muito esforço, além de conhecimentos
técnicos e habilidades variadas.
Pensando nisso, o Curso de Aplicativos Android vem de encontro com essas
necessidades, assim o auxiliando adquirir esses conhecimentos e habilidades,
também é necessário muito compromisso de sua parte, sempre buscando
conhecimento para seu desenvolvimento.

História do Android
O Android foi adquirido pela Google que o desenvolveu e o lançou
comercialmente em 23 de setembro de 2008. O Android, que havia sido rejeitado
anteriormente pela Samsung, se tornou líder em sistemas operacionais de celulares.

4
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Um dos fatores que o tronou o sistema móvel mais popular do mundo, foi o
fato dele ser um software livre, que em outras palavras, significa que ele poderia ser
utilizado e modificado por outras empresas.
O HTC Dream foi o primeiro celular móvel a ter o sistema operacional Android
como padrão de fábrica, era produzido pela marca taiwanesa HTC e T-Mobile, e foi
lançado em outubro de 2008.
O HTC Dream recebeu críticas diversas, maioritariamente positivas, sendo
elogiado pelo seu design de hardware sólido e robusto.
A introdução do sistema operacional Android
foi recebida com críticas pela falta de algumas
funcionalidades e de softwares de terceiros em
relação a plataformas já existentes, mas ainda assim
foi considerada inovadora devido: à sua natureza
aberta e flexível, integração da barra de notificações
e a barra de status e integração forte com os serviços
do Google.
O Android, um sistema operacional móvel
HTC Dream/T-Mobile G1
completo e aberto foi desenvolvido com base no
sistema operacional Linux com a intenção de permitir aos desenvolvedores criar
aplicações móveis, para que possam tirar total proveito do que um aparelho móvel
pode oferecer como efetuar chamadas, enviar mensagens e até mesmo ativar
câmera.
Este sistema pode ser adaptado com pretensões de incorporar as novas
tecnologias à medida que forem surgindo.
O sistema é muito seguro, isto é, ele impede que alguém crie um software
malicioso e acesse informações pessoais no seu
dispositivo, além disso, toda vez que este sistema for
instalado ele cria um usuário para este, deixando o
aplicativo isolado dos outros e qualquer tentativa de
acessar será necessária à autorização do usuário
podendo negar a autorização.
Para você desenvolver aplicações para Android
utiliza-se o Kit de desenvolvimento SDK, este
disponibiliza as ferramentas e APIs necessárias
utilizando a linguagem Java.

5
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Versões do Android

NOME DA VERSÃO DATA DE LANÇAMENTO ÍCONE/LOGO


ALFA (1.0) 2008

BETA (1.1) 2009

CUPCAKE (1.5) 2009

DONUT (1.6) 2009

ECLAIR (2.0 - 2.1) 2009

FROYO (2.2) 2010

GINGERBREAD (2.3) 2010

HONEYCOMB (3.1) 2011

ICE CREAM SANDWICH (4.0) 2011

JELLY BEAN (4.1) 2012

KITKAT (4.4) 2013

LOLLIPOP (5.0) 2014

MARSHMALLOW (6.0) 2015

NOUGAT (7.0) 2016

OREO (8.0) 2017

PIE (9) 2018

ANDROID 10 2019

ANDROID 11 2020

6
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

ARQUITETURA GERAL DA PLATAFORMA


Figura 1 – Arquitetura Android Fonte – Developers Android, 2020.

System Apps
Nesta camada se encontram todos os aplicativos fundamentais escritos em
Java, como: um cliente de e-mail, mapas, navegadores, calendários, programas
SMS, entre outros.
Ou seja, para desenvolver um programa para a plataforma Androide, os
aplicativos devem ser escritos em Java para serem executados na máquina virtual
Dalvik.

7
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Java API Framework


Nesta camada estão todas as APIs e recursos utilizados pelos aplicativos,
como: Classes visuais que incluem listas, grades, caixas de texto, botões, e até um
navegador web embutido, View system este que é um componente utilizado na
construção de aplicativos e o provedor de conteúdo, Content Provider que possibilita
um aplicativo a acessar ou compartilhar as informações com outros aplicativos e
gerenciadores de localizações como GPS e Cell ID, entre outros.

Native C/C++ Libraries


Nesta camada podemos encontrar um conjunto de bibliotecas C/C++, estas
que são utilizadas pelo sistema, neste conjunto encontraram a biblioteca C padrão
(Libc) também as bibliotecas referentes a multimídia e visualização de camadas 2D
e 3D, funções para navegadores web, funções gráficas, de aceleração de hardware,
renderização 3D, fontes em bitmap e vetorizadas funções de acesso a banco de
dados SQLite e etc.

Android Runtime
Esta pequena camada de execução é uma instância da máquina virtual
Dalvik, criada para cada aplicação executada no Android. Esta Dalvik nada mais é
do que uma máquina virtual com melhor desempenho e integração com a nova
geração de software e projeção para funcionar com sistemas com baixa frequência
de otimização para o consumo mínimo de memória, bateria e CPU.

Linux Kernel
A versão 2.6 do Kernel do Linux é a mais utilizada para os serviços centrais
do sistema, como segurança, memória, processos, pilha de protocolos de rede e
modelo de drives. O Kernel também atua como uma camada de abstração entre o
hardware e o resto da pilha de software, um dos acessórios interessantes é o Binder
(IPC) este que é responsável pela obtenção e envio das aplicações requeridas à
interface de serviço.
Nesta camada se encontra também um importante sistema próprio de
gerenciamento de energia do Kernel a checar periodicamente todos os dispositivos
que não estão sendo utilizados por aplicações e os desliga.

8
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Android Studio
A ferramenta oficial do Google para
desenvolvimento Android é o Android Studio.
Para melhorar sua produtividade na criação de
aplicativos para Android, o Android Studio é baseado
no IntelliJ IDEA, considerado uma das ferramentas
mais poderosas para desenvolvimento em Java.
Android Studio é um Ambiente de
Desenvolvimento Integrado (IDE) para a plataforma
Android.
Foi lançado em 16 de maio de 2013 na conferência Google I/O.
Suas características:
● Suporte para compilações baseadas em Gradle.
● Refatoração específica para Android e reparações rápidas.
● Ferramentas de Lint para capturar performance, usabilidade, compatibilidade
de versão e outros problemas.
● Integração com ProGuard e capacibilidade de assinatura de aplicativo.
● Um assistente baseado em predefinições com designs e componentes
comuns de Android.
● Um rico editor de layout que permite que os usuários arrastem componentes
de interface de usuário, opção de pré-visualizar layouts em várias
configurações de tela.
● Suporte para a criação de apps para Android Wear.
● Suporte nativo para a Google Cloud Platform, permitindo a integração com
Google Cloud Messaging e App Engine.

Requisitos de Sistema

WINDOWS OS X / macOS LINUX

Versão do 10/8.1, 8, 7, Vista, MacOs 10.10, GNOME ou KDE


Sistema 2003, XP. MacOs 10.11 ou ou UNITY no
Operacional superior, até a UMBUNTO ou
(32 ou 64 bits)
versão MacOs FEDORA ou
10.13/14. GNU/LINUX
DEBIAN

RAM 4 GB de RAM no mínimo, 8 GB de RAM Recomendado

DISCO 2 GB de espaço em disco

9
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

ESPAÇO
PARA O No mínimo 4,5 GB para o Android SDK, imagens do
Android sistema de emulador e caches
SDK

Versão JDK Java Development (JDK) 6/7/8/9/10/11/12 ou superior

Resolução
1280x800 de resolução de Tela
de Tela

Google Play
O Google Play é uma loja online para estes aplicativos
Android, desenvolvida pelo Google.
Nela encontramos tanto aplicativos pagos quanto grátis.

Android Developers
O site Android Developers contém todas as informações para oferecer
suporte e auxiliar o desenvolver Android.
O link para acessá-lo é: http:[Link]
Neste site você pode encontrar tutoriais, recursos e as últimas novidades do
Android.

Montando o Ambiente
Antes de iniciarmos será necessária
a configuração do ambiente de
desenvolvimento.
Essa etapa é de extrema
necessidade, pois elas consistem em
algumas instalações, mas não se
preocupe, vamos ensinar todos os passos
necessários para tais instalações.
Vamos utilizar o Android Studio que é a Ferramenta oficial do Google para
desenvolvimento Android.
Também utilizaremos a linguagem Java, pois o SDK do Android foi
desenvolvido utilizando a linguagem de programação Java e diversos
aplicativos também são desenvolvidos em Java.
Lembre-se, antes de qualquer instalação, a verificação dos recursos dos
sistemas é necessária.

10
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Enfim, vamos dar início a preparação de nosso ambiente de


desenvolvimento.
Será necessária a instalação de alguns componentes, vamos começar pelo
JAVA JDK – Java Development Kit e JRE – Java Runtime Environment.
O JDK é um kit contendo tudo o que é necessário para o desenvolvimento
de uma aplicação JAVA/Kotlin.
Baixe o pacote mais recente e que coincida com o sistema de sua máquina,
ou da máquina que irá usar, neste caso vamos utilizar a versão 11.0.9 do JDK.

Como Baixar o Java JDK


O Java JDK é encontrado no site da ORACLE, clique na barra de
endereços.

Tecle Backspace para remover o endereço do site atual.

Digite [Link] e digite enter.

11
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Veja, o site da Oracle abriu. Agora clique em Products.

Agora selecione JAVA.

Agora selecione Oracle JDK.

12
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos utilizar a versão Java SE 11 (LTS), clique no local indicado.

Note que temos diversas versões para o JDK, que dependem do sistema
operacional que você utiliza. No nosso caso, vamos utilizar o arquivo para Windows
64bits.
Clique no local indicado.

Clique novamente no local indicado.

13
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora clique para iniciar o Download.

Aguarde alguns minutos até a conclusão do Download e depois clique


no local indicado.

Clique em Next duas vezes.

14
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Aguarde a instalação.

Pronto, o Java JDK já está instalado, agora clique em Close.

Fácil não, agora vamos para a instalação da SDK do Android.


Com o JDK instalado, agora é a vez do Android Studio.
Tendo em vista, que a maioria do trabalho desenvolvido nos aplicativos será
executada utilizando o Android Studio.
O Android Studio é encontrado no site Developer, que é o site de
desenvolvimento do Android Studio.
Digite o endereço [Link] e Aperte Enter.

15
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Download Android Studio.

Clique em: Li e aceito os Termos e Condições Acima.


IMPORTANTE - Lembre-se de ler os termos antes de aceitar.

16
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora clique em: fazer download de Android Studio para Windows.

Aguarde até que seja feito o download, você pode acompanhar através
do ícone que aparece do lado esquerdo em baixo na tela.

Após o término do download clique em cima deste mesmo ícone.

Irá abrir uma tela como esta, clique em Next.

17
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique novamente em Next.

Clique novamente em Next.

Clique em Install.

18
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Aguarde até que o processo de instalação termine.

Clique novamente em Next.

Clique em Finish.

19
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Next!

Mantenha em Standard, e clique em Next.

Vamos escolher o tema de apresentação do Android Studio. Escolha de


acordo com seu gosto, pode escolher entre Darcula e Light.

Neste caso vamos selecionar Darcula.

20
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Next.

Agora falta somente clicar em Finish.

Vamos aguardar até o término da instalação.


Este processo pode demorar alguns minutos, tudo dependerá da velocidade
de sua internet.

21
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Para finalizar clique em Finish novamente!

Pronto, aqui está a tela de inicial de boas-Vindas do Android Studio.

INFORMAÇÕES EXTRAS
Os aparelhos Android estão cada vez mais comuns, gerando grandes
oportunidades para desenvolvedores de aplicativos Android.
No mercado brasileiro em 2018 aparelhos com sistema Android
representavam 95,1% do total de dispositivos vendidos.
Uma pesquisa realizada pela Fundação Getúlio Vargas de São Paulo (FGV-
SP), revelou a existência de 230 milhões de smartphones em uso no Brasil.
De acordo com a IDC (International Data Corporation) (2018), a plataforma
Android alcançou uma participação de 87,8% dos dispositivos no mercado mundial

22
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

no ano de 2018, enquanto o IOS teve apenas 12% de resultado de mercado.


Conforme o relatório gerado, estima-se que até 2022 o número de dispositivos com
Android cresça para 1,36 bilhões.

EXERCÍCIOS
1. Preencha as lacunas:
a) O Android, um sistema operacional móvel completo e aberto foi desenvolvido
com base no sistema ____________________, foi desenvolvido com a intenção
de permitir aos desenvolvedores criar aplicações móveis que possam tirar total
proveito do que um aparelho móvel pode oferecer como efetuar chamadas,
enviar mensagens e até mesmo ativar câmera.
b) Para você desenvolver aplicações para Android utiliza-se o Kit de
desenvolvimento SDK, este que disponibiliza as ferramentas e APIs necessárias
utilizando a linguagem ________.
c) Nesta camada estão todas as __________ e recursos utilizados pelos
aplicativos, como: Classes visuais que incluem listas, grades, caixas de texto,
botões, e até um navegador web embutido, ________________ este que é um
componente utilizado na construção de aplicativos e o provedor de conteúdo,
____________________ que possibilita um aplicativo a acessar ou compartilhar
as informações com outros aplicativos e gerenciadores de localizações como
GPS e Cell ID, entre outros.
d) O Android Studio é baseado no _____________, considerado uma das
ferramentas mais poderosas para desenvolvimento em Java.
e) O __________________________ é a Ferramenta oficial do Google para
desenvolvimento Android.

ANOTAÇÕES

_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

23
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 02

Primeiros Passos com Android Studio


Através dos passos realizados até agora, instalamos o Java JDK e o IDE do
Android Studio.
Antes de prosseguirmos, vamos verificar quais pacotes estão instalados e
os faltantes.
Esta tarefa pode ser realizada utilizando o Android SDK Manager, para
isso clique em Configure.

Selecione SDK MANAGER.

24
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Primeiro vamos verificar o SDK Plataforms.

Aqui podemos ver as versões utilizadas nos celulares, desde as mais


atuais como o Android 11.0 (R) até as mais antigas como a Android 2.1 (Eclair).

Você não precisa de todas essas versões para criar aplicativos para o
Android.
Marque apenas uma versão para criar seus aplicativos e eles funcionaram
para as versões anteriores.
Também, podemos desmarcar e atualizar as versões que queremos utilizar.

25
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Aqui vamos excluir algumas versões, vamos utilizar da Kitkat em diante.


Desmarque todas as opções abaixo da KitKat.

Agora vamos clicar em Apply.

Clique em OK.

Agora aguarde completar a operação.

26
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Finish.

Vamos ver como funciona o Show Package Details. Clique nele.

Em Show Package Details (Mostrar detalhes do pacote) ele mostra


alguns detalhes das versões, que podemos instalar de forma adicional.

27
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Mas nesse caso, vamos deixar como está, clique novamente em Show
Package Details para tirar sua seleção.
Agora vamos ver algumas ferramentas para que possamos construir nossos
aplicativos.
Clique em SDK Tools.

No SDK Tools conseguimos visualizar os vários recursos necessários para


que possamos utilizar corretamente o Android. Vamos verificar se algumas
ferramentas estão instaladas.

28
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Caso esteja faltando alguma ferramenta que vamos utilizar, devemos instalá-
las.
Vamos precisar que estejam instalados:
- Android SDK Build – Tools;
- Android Emulador;
- Android SDK Plataform – Tools;
- Google Play Services;
- Google Play USB Drive;
- Google Play Web Drive;
Selecione todos eles e Clique em Aplly.

Agora clique em ok.

29
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Aguarde até concluir a instalação.

Clique em Finish.

Feito isto, clique em ok.

30
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos em Configure novamente.

Selecione Settings.

Aqui podemos encontrar algumas opções de aparências.

31
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Quando realizamos a instalação do Android Studio fizemos a escolha da


aparência o Theme, caso desejarmos mudar está opção, é por aqui que
conseguiremos isto.
Clique em THEME.

Observe que temos 3 opções, podemos escolher qual se adeque melhor ao


trabalho desenvolvido, neste caso manterei o Darcula.

32
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Após escolher o tema, clique em ok para fechar a janela.


Está é a Tela de Início do Android Studio. Nela podemos criar nosso
primeiro projeto.

Nas próximas aulas vamos iniciar nosso primeiro projeto, vamos aprender
como utilizar o emulador do Android Studio e a como emular no celular.
Continue lendo sua apostila e faça os exercícios de fixação, eles são muito
importantes para acabar com suas dúvidas.

EXERCÍCIOS
1. Preencha as lacunas:
a) _______________ mostra as versões utilizadas nos celulares, desde as mais
atuais como o Android 11.0 (R) até as mais antigas como a Android 2.1
(Eclair).
b) Em Show Package Details (Mostrar detalhes do pacote) ele mostra alguns
______________________ que podemos instalar de forma adicional.

33
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

c) No ____________ conseguimos visualizar os vários recursos necessários


para que possamos utilizar corretamente o Android.
d) Em SDK Tools vamos verificar se __________________________ estão
instaladas.

ANOTAÇÕES

_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

34
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 03
Criando Nosso Primeiro Aplicativo Teste
Ufa, passamos pelos primeiros passos do Android Studio.
Para continuarmos será necessário conferir se foram instalados todos os
pacotes para o correto funcionamento do Android Studio.
Vamos criar um aplicativo simples para teste.
Com ele vamos poder compila-lo e emulá-lo assim realizando um teste para
verificar e detectar se todos os componentes foram instalados corretamente.
Clique em Create New Project.

Esta janela apresenta alguns projects template prontos que podemos utilizar,
mas a frente vamos detalhar cada um, mas por enquanto vamos utilizar a Empty
Activity (Atividade Vazia) para a criação de nosso primeiro projeto teste.
Clique nela e em seguida clique em next.

35
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Abriu esta janela, ela é onde vamos fazer as configurações iniciais de


nosso projeto.

Nela encontramos o Name, que é o nome da aplicação que estamos


criando.

O nome do aplicativo é o nome pelo qual ele será referenciado e


identificado dentro do Android Studio.

Encontramos também a Package Name, é usado exclusivamente para


identificar o aplicativo dentro dos diversos aplicativos Android existentes.

36
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O package Name deve ser escrito da seguinte maneira, por exemplo, eu tenho
o meu domínio que é meu primeiro projeto, então meu package name é
[Link].
Vamos nomear nossa aplicação como meu primeiro projeto então o nome do
pacote deverá ser escrito da seguinte maneira: [Link].
O Save Location, nada mais é do que o local onde será salva nosso projeto,
por padrão, será salvo na pasta AndroidStudioProjects no diretório C:...

Para alterar o local onde será salvo o projeto basta clicar no ícone que
mostra uma pasta a sua direita do endereço onde será salvo. Vamos ver como
funciona, clique!

37
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Observe que são apresentadas várias pastas onde podemos salvar nosso
projeto, mas vamos manter onde ele se encontra.
Clique em Cancel!

Em language selecionamos o tipo de linguagem que podemos desenvolver


nosso aplicativo.
Podemos escolher entre Java e Kotlin.

Minimum SDK, vamos manter API 16, que neste momento é o necessário
para a criação de nosso aplicativo teste.

38
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Nas próximas aulas vamos detalhar cada um deles mais a fundo.


Por enquanto, vamos somente alterar o Name colocando meu primeiro
projeto.
Selecione My Application e aperte backspace para apagar o conteúdo
em Name.

Agora digite meu primeiro projeto.

Agora Clique em Finish!

39
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Está é a janela principal do Android Studio, caso ela não esteja desta
forma, deve ter ocorrido algum probleminha.

Nesse caso ocorreu tudo bem, então vamos continuar.


Observe que ao seu lado esquerdo tem um painel onde estão listados
todos os arquivos e referências de nosso projeto.

Esse painel tem vários modos de visualizações diferentes e, por padrão,


está no modo Android.

40
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Caso não esteja selecionado o modo Android, clique no menu indicado


e mude para o modo Android.

Como o modo Android já está selecionado clique novamente na setinha para


fechar a aba.
Nosso primeiro projeto irá consistir em uma interface de usuário contendo
uma única View ou layout, que mostrará a mensagem "Hello World!" quando
executarmos o aplicativo.

O que é Layout?
Segundo o Developers, o layout define a estrutura de uma interface do usuário
no aplicativo, assim como a atividade. Todos os elementos do layout são criados
usando a hierarquia de View e objetos ViewGroup.

41
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Basicamente o layout refere-se ao design ou formato da página e as suas


margens, estes fatores determinam que deve ser bem fundamentado, analisando o
como e onde será utilizado.
Nós, como desenvolvedores temos que manter a atenção de nosso leitor,
para isso é de suma importância estruturar o layout ao longo de uma série de
páginas ou superfícies de modo a obter uma
flexibilidade máxima sem perder a continuidade.

O que é View?
A View é uma classe, ela representa um
elemento da tela.
A View é apenas a classe base de uma
hierarquia de classes para os vários tipos de
elementos visuais que vemos nos demais
aplicativos, tais como o Button ou EditText que indicou.
É uma peça da interface gráfica que o usuário vê. Ocupa uma área retangular
e é responsável por desenhar o componente na tela, assim como responder aos
seus eventos.
Os objetos View são geralmente chamados de “widgets” e podem ser uma de
muitas subclasses, como Button ou TextView.
Os objetos ViewGroup são geralmente chamados de
“layouts” e podem ser de um dos muitos tipos que fornecem uma estrutura
de layout diferente, como LinearLayout ou RelaiveLayout.
O linear layout é um dos tipos de layouts mais utilizados no desenvolvimento
com Android, pois possibilita organizar seus componentes de duas formas:
alinhados horizontalmente ou alinhados verticalmente.

42
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

LinearLayout Horizontal LinearLayout Vertical

O Relative Layout, em portugês Layout Relativo, é o tipo de layout utilizado


no Android para posicionar os elementos em relação a outro. Ele é um ViewGroup
usado para especificar a posição de widgets dentro do layout.
O Layout Relativo é muito útil para projetar a Interface do Usuário porque
podemos alinhar todas as visualizações aninhadas e manter a hierarquia do layout
uniforme, resultando em melhorias no desempenho do aplicativo.

Parece complicado, não é? Mas com o decorrer das aulas tudo vai ficar mais
claro e fácil de entender.
Vamos Clicar em Activity_main.xml.

43
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O activity_main.xml é usado para exibir coordinatorLayout, tabLayout,


floatingActionButton, viewPager etc.

Desta maneira está apenas apresentando o design, mas há outras formas de


apresentação.
Clique no local indicado.

44
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Veja, mudou a forma de apresentação agora nós temos além do design temos
a codificação aparente.
Se clicarmos em Code será apresentado somente à codificação.
Mas para melhor visualização e aprendizado vamos trabalhar utilizando o split
e o design.
Observe que por padrão o Android Studio cria um layout com “Hello
World” olá mundo em português.

Veja que a parte do código em destaque nos mostra a codificação


responsável por determinar a frase "Hello World" no nosso Layout.
Chegou à tão esperada hora de testar nosso emulador, ele encontra-se na
parte superior do lado direito...
Clique no local indicado pela seta.

Vamos criar um emulador, clique em AVD Manager.

45
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos clicar em Create Virtual Device.

Observe no local indicado, são apresentados vários modelos de Phone


(Telefones Celulares).

Nesta janela também encontramos as plataformas que podemos criar.


Vamos verificar a TV. Clique nela.

46
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Observe os emuladores disponíveis para aplicativos para TV.

Agora Clique em Tablet.

Veja agora os emuladores disponíveis para aplicações em Tablets.

47
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Mas vamos voltar para o phone, clique nele!

Vamos utilizar o Nexus 5, Clique e arraste a barra de rolagem para


visualizar o emulador desejado.

Clique sobre ele.

48
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Next.

Observe quais versões do Android estão disponíveis para este modelo


de emulador.

Vamos utilizar a Nougat 7.0, neste caso já está instalada, para fazer um
teste selecione Nougat 7.1.1.

49
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Download na frente de Nougat versão 7.1.1, está indicado por


uma seta.

Aguarde até o término da instalação do emulador.

Clique em Finish.

50
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Observe, foi criado o emulador referente à versão que acabamos de


instalar.

Viu como é fácil criar um emulador?


Clique no X para fechar a janela.

Vamos emular nosso primeiro projeto. Para isso clique novamente na


setinha indicada.

51
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Selecione Nexus 5 API 24, clicando sobre ele.

Observe que mudou para o emulador que desejamos.

Agora vamos emular.


Clique na seta verde ao lado do nome do emulador, essa seta é chamada
de RUN.

52
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Veja, a emulação está em processo, ela pode demorar alguns minutos a


primeira vez que rodar o emulador.

Uau! Nosso emulador apareceu com o formato do Nexus 5, veja ao lado


uma imagem do aparelho real. Parecido não é mesmo?

Porém o mais importante de tudo é que nossa aplicação rodou sem


erros.
Observe o "Hello World!" no meio do emulador.

53
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

EXERCÍCIOS
01. Preencha as lacunas:
a) Segundo o ______________, o layout define a estrutura de uma interface
do usuário no aplicativo, assim como a atividade. Todos os elementos do
layout são criados usando a hierarquia de _______ e objetos
___________.
b) Basicamente o ___________ refere-se ao design ou formato da página e
as suas margens, estes fatores determinam que deva ser bem
fundamentado, analisando o como e onde será utilizado.
c) A _________ é apenas a classe base de uma hierarquia de classes para
os vários tipos de elementos visuais que vemos nos demais aplicativos,
tais como o _____________ou __________ que indicou.
d) Os objetos __________ são geralmente chamados de “layouts” e podem
ser de um dos muitos tipos que fornecem uma estrutura de layout
diferente, como ______________ ou _________________.
e) O ____________________ é um dos tipos de layouts mais utilizados no
desenvolvimento com Android, pois possibilita organizar seus
componentes de duas formas: alinhados horizontalmente ou alinhados
verticalmente.

54
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

ANOTAÇÕES

_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

55
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 04
Criando Seu Primeiro Aplicativo I
Nesta aula vamos criar nosso primeiro projeto.
Porém, antes de iniciarmos nosso projeto devemos lembrar-nos de alguns
conceitos básicos e conhecer outros importantíssimos para nossa primeira criação.
Vamos começar: essa é a tela inicial do Android Studio, vamos conhecer e as
opções nela existentes.

Create New Project – Aqui é o local onde criamos um projeto.

Open na Existing Project - Abrir um projeto diretamente do local onde ele


está armazenado

56
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Get from Version Control - Ver nossa versão.

Profile or Debug APK - Permite que você crie perfis e depure APKs sem
precisar criá-los usando um projeto do Android Studio.

No entanto, você precisa garantir que está usando um APK com depuração
ativada.
Import Project (Gradle, Eclipse ADT, etc) – Aqui você consegue importar
versões anteriores, projetos feitos no Eclipse, etc...

57
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Import an Android Code Sample – O Android Studio oferece uma seleção


de amostras e modelos de código para você usar caso necessitar.

O local indicado abre rapidamente algum dos últimos projetos desenvolvidos,


bastando clicar sobre ele.

Vamos criar um projeto, clique em Create New Project!

58
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Criaremos um projeto simples, então vamos selecionar Empty Activity.

Clique em Next!

Configurando nosso projeto:


Name - Nome do projeto: aqui vamos colocar o nome de nosso projeto.

59
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Lembrando: o nome do aplicativo é o nome pelo qual ele será referenciado


e identificado dentro do Android Studio.
Language - você poderá escolher a linguagem de programação entre Java®
e Kotlin®, mas nós manteremos nosso projeto com a linguagem Java®.

Package Name - é usado exclusivamente para identificar o aplicativo dentro


dos diversos aplicativos Android existentes.

60
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Save Location - Nada mais é do que o local onde será salva nosso projeto,
por padrão será salvo na pasta AndroidStudioProjects no diretório C:.

Minimum AP level - Ele determina a compatibilidade do aplicativo com


as versões do Android®. Criaremos o projeto NossoBoletim, utilizaremos a
linguagem Java® e ele será compatível com a API 19 (KitKat).

Clique em Finish!

Agora vamos conhecer o ambiente de desenvolvimento:


No item 1 temos a estrutura do nosso projeto.

61
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos conhecer o item A – Manifest. Clique sobre ele.

Dentro do Manisfest encontramos o [Link].


O XML, sigla para eXtensible Markup Language, é um tipo de linguagem de
marcação que define regras para codificar diferentes documentos.
Mas afinal o que o AndroidManifest tem?
Ele contém toda estrutura que compõem nosso projeto.

62
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

A parte marcada é a atividade principal, toda vez que criarmos uma atividade
ele vai declarar automaticamente uma nova atividade.
Esta informação é necessária devido ao fato de que algumas vezes vamos
importar alguma atividade ou algum packege (pacote) no qual teremos que declará-
lo manualmente.
Na pasta Java®, encontramos nosso package, dentro dele encontramos
nossa atividade principal.

Nas Versões atuais do Android ele sempre cria a atividade principal com a
nomenclatura MainActivity.
Podemos encontrar em alguns projetos pela internet que não contém a
MainActivity.
Esses projetos foram feitos em Versões mais antigas do Android Studio ou no
Eclipse ADT, onde poderíamos declarar o nome da Activity principal.
Também encontramos o res (resource). Vamos clicar na setinha na frente de
sua pasta para vermos as opções contidas nele.

Em res (resource) encontramos as seguintes opções: drawable, layout,


mipmap e values. Vamos aprender sobre cada uma delas.

63
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Na drawable é onde inserimos nossas imagens.

No layout é onde encontramos nosso activity_main.xml.

Clique na setinha antes da pasta.

64
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O activity_main é onde vamos criar nossa interface do nosso xml.

O Values também são xmls, ele é muito usual.


Clique na setinha na frente da pasta para conhecermos suas opções.

Primeiro nós temos o colors. Clique sobre ele com um duplo clique.

65
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O colors serve para criar constantes de cores, podemos criar cores.

Na aula teremos um vídeo explicando sobre como inserir uma nova cor.
Observe que criamos uma linha de código:
<color name="titulo">#B22222</color>.

Esta opção é muito importante, já que podemos criar diversas activitys e


diversas telas para um projeto.
Imagine que você criou um aplicativo e neste projeto foram criados diversos
botões, mas ao entregar para o cliente, ele não gostou da cor dos botões.

66
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Ao criarmos desta maneira não precisamos mudar botão por botão, basta
apenas alterarmos o seu registro em colors, assim o AS automaticamente altera as
cores de todos os botões desta referência.
Facilitando muito a usabilidade.
A mesma ideia para strings, clique sobre ele com duplo clique.

Está opção serve para criar variáveis textuais, criando rótulos constantes com
nomes.

Muito usual para quando forem desenvolvidos aplicativos bilíngues.


Podemos criar uma string para cada língua, português, espanhol e inglês.
E dentro de cada variável podemos criar uma para cada língua.
Agora vamos conhecer o Gradle.

67
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique no ícone na frente do nome.

A função do Gradle é sincronizar as


versões da aplicação e mostra as tarefas do
Gradle que compõem a configuração do
projeto.
Na parte indicada, veja todos os
componentes da nossa aplicação.
O Gradle lista as tarefas que estão
envolvidas na compilação dos vários
elementos do projeto em um aplicativo Android.
Muitos detalhes não?
Tenha calma, praticando tudo começa ficar
mais claro!
Continuando nosso projeto, clique no
local indicado.

Observe ao seu lado esquerdo encontramos três tipos de opções que


podemos trabalhar para desenvolver nosso projeto.

68
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Elas foram vistas na aula anterior, vamos utilizar a code, que nos apresenta
a codificação.

Vamos ampliar o tamanho da fonte para facilitar nossa visualização, pois


vamos desenvolver primeiramente através dos códigos.

69
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em file.

Agora vamos clicar em settings.

Agora vamos selecionar Font. Clique no local indicado!

Agora vamos em size, observe que nele está marcando 14, vamos alterar
para 18.

70
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Selecione o 14 e aperte backspace para apagar.

Agora digite 18.

Clique em Apply e depois em Ok.

71
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Observe, o tamanho da fonte foi alterado.

Vamos observar o código!

Dentro desta abertura ele mostra nosso gerenciador de Layout, onde traz por
default o constraintlayout.

72
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Mas vamos começar por um mais fácil, no lugar deste constraintlayout


vamos utilizar o linearlayout. Selecione
[Link] e aperte Backspace.

Agora digite LinearLayout no local indicado.

Observe que ao mudar na parte de cima ele automaticamente altera a parte


debaixo.

73
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Alguns widgets precisam ser fechados, iniciando desta maneira


<LinearLayout </LinearLayout>.
Outros não precisam como, por exemplo, o TextView.
Ele está assim <TextView .... />.

Continuando, clique em Design!

Observe que o layout já mudou, o Hello Word agora está posicionado no canto
esquerdo superior.

74
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Anteriormente ele encontrava-se posicionado no centro de nosso layout.

Ops, surgiu um probleminha, ele está colado à margem esquerda e superior.

Vamos aprender corrigi-lo! Clique novamente em Code.

75
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos inserir uma orientação com o comando Android:orientation ele


especifica se as visualizações filhas são exibidas em uma linha ou em uma coluna.
Essa orientação é de relevância para o LinearLayout, pois determina que
suas visualizações fiquem empilhadas verticalmente ou horizontalmente.
Também vamos inserir uma margem utilizando o comando
Androide:layout_margin=“ “ para criar um espaçamento entre a borda do celular
e o layout do aplicativo.
Vamos inserir o valor de 8dp (Density-independent Pixels) para essa margem,
density-independent Pixels é uma unidade relativa à resolução da tela.
Quando precisamos adequar os elementos de interface do usuário para
diferentes dispositivos, a utilizamos para fazer esse redimensionamento.
Por exemplo, se a resolução da tela é de 220 dpi, significa que um dp
representa 1 pixel em um total de 220.

Bom, vamos ficando por aqui, na próxima aula vamos dar continuidade ao
nosso aplicativo!

76
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

EXERCÍCIOS
1. O que o podemos fazer com o Create New Project?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
2. Qual a função do Open na Existing Project?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
3. Qual a função do Profile or Debug APK?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
4. Quais linguagens de programação podemos utilizar no Android Studio?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
5. Qual a função do Gradle?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

77
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

ANOTAÇÕES

_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

78
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 05
Criando Seu Primeiro Aplicativo II
Relembrando, havíamos parado na aula anterior na inclusão da orientação e
da margem de nosso LinearLayout.
Vamos dar prosseguimento ao nosso projeto!
No nosso TextView as quatro últimas linhas não serão necessárias, então
vamos deletá-las.
Selecione todas elas.

Aperte delete para apagá-las.


Veja, ficaram apenas estas 3 linhas destacadas em nosso TexView.

A linha Android:text="Hello World!“, que é nosso texto.

E as linhas Android:layout_width="wrap_content“ e
Android:layout_height="wrap_content“.

79
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Podemos utilizar duas formas nestes dois comandos: o wrap_content e o


match_parent.

O wrap_content cria o objeto no tamanho do texto dele, no tamanho em que


foi criado. Já o match_parent preenche toda a tela.
O TextView é um Widget que nos manda um rotulo .

Vamos dar início a construção de nosso aplicativo:


Selecione “Hello World” e o apague.

Agora no local indicado digite: Nome do Aluno:

Vamos Clicar em Design para ver como ficou nossa previa.

Observe que nosso layout já mudou, agora aparece Nome do Aluno: vamos
clicar em Code para retornar à codificação.

80
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos colocar outro widget.


Clique no local indicado.

Aperte enter duas vezes.

Digite <EditText e aperte TAB.

Ao apertar TAB, o A.S. cria duas linhas de comando.


O Android:layout_width="“
e o Android:layout_height="“.

81
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Para estas duas opções vamos utilizar os comandos wrap_content e


match_prent.

Vamos utilizar o match_parent para o layout_width.


Entre as aspas digite match_parent.
Para o layout_heigth, digite entre as aspas wrap_content.

Vamos aproveitar e já fechar o widget EditText, coloque o cursor no final do


wrap_content e digite />.
Vamos clicar em design para ver como está ficando nosso aplicativo.

Observe que está aparecendo uma linha logo abaixo do nome do aluno

Podemos observar também que na janela ao lado aparece o EditText.

82
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique quem Code!

Vamos ver o que acontece caso digitarmos wrap_content no layout_width.


Clique novamente em design para verificarmos como ficou.

Veja, ele ficou pequeno, o tamanho dele irá aumentar conforme a informação
for sendo inserida dentro dele.

Vamos retornar para tela de codificação, clique em Code.

Vamos voltar para match_parent o width.

Será necessário criar um ID (identifier), um identificador.


Pois todo elemento tem um nome exclusivo que pode ser usado para
conseguir uma referência para o View do seu aplicativo.
Essa identificação é necessária pois vamos utilizá-la no Java® quando formos
referenciá-la, toda informação que eu acessar, usar ou manipular, obrigatoriamente
tem que ter um ID.
Para o valor do ID, use este formulário de sintaxe: "@+id/name".

83
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O @ significa que ele está pegando uma coletânea externa o + adiciona a


coletânea ID.
Vamos incluir o ID. Clique na frente do /> do height e aperte enter.
Agora digite no local indicado Android:id=“@=id/edtNome”.

"@+id/edtNome“ isso significa que adiciona para minha coletânea id o


edtNome.
Agora vamos incluir alguns TextViews, EditText e Buttons.
Vamos acompanhar pelo vídeo essas novas inclusões.

Agora precisamos incluir mais um TextView para terminarmos, o Calcular


Média e, também um EditText para ele...
Acompanhe pelo vídeo.
Vamos emular para ver como está ficando, vamos acompanhar no vídeo.
Emulamos nosso projeto e não encontramos nenhum erro.

84
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Até agora trabalhamos apenas o design de nosso aplicativo.


Começaremos a codificar, ou melhor, a programar a nossa MaiActivity.
Agora começaremos a programar a nossas regras de negócios no Java®.

O que são Regras de Negócios?


Regras de Negócio são declarações sobre a forma de a empresa fazer
negócio. Regras de Negócio tornam-se requisitos, ou seja, podem ser
implementadas em um sistema de software. Elas representam um importante
conceito dentro do processo de definição de requisitos para sistemas de informação
e devem ser vistas como uma declaração genérica sobre a organização. Diante a
isso, a regra de negócio se aplica diretamente ao desenvolvimento de determinada
plataforma de software voltada para um sistema de informação. É ela que especifica
as particularidades das funcionalidades a serem desenvolvidas.
Para isso precisamos fechar nosso emulador.
Clique no X indicado pela seta.

Criamos alguns Widgets, o TextView, o EditText e o Button e para cada


um deles criamos uma identificação, seu ID.

85
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Esse ID é para diferenciá-lo dentro do Java®.


Agora vamos criar o Widgets dentro do Java®, para isso precisamos
referência um com o outro.
Desta maneira tudo que acontecer com um pode ser refletido no outro e assim
que eles fazem interconexão.
Clique sobre [Link].

Clique nos três pontinhos (...) em frente ao import.

O [Link] já traz algumas imports que ele necessita


automaticamente.

86
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Ele já criou nossa MainActivity, public class MainActivity extends


AppCompatActivity.

Foi criado um evento onCreate, ele acontece automaticamente no momento


da criação da aplicação.

Quando a activity é inicializada, ela é nosso conjunto xml e java.


Foi criada a instância principal.

O setContentView ativa o R de resource, é um arquivo interno do Android e


é um [Link].

87
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Praticamente tudo que existe de interface é criado dentro deste arquivo R,


então o activity_main é criado neste arquivo.
Os arquivos de identificação que criamos são jogados para o R.
Mas qual R? o [Link].

Então o é ([Link].activity_main)?
Ele configura o layout xml na Activity, definindo elementos de interface do
usuário, como por exemplo o EditTxt.
Ele também pede para pegar dos arquivos de recursos R, o
[Link].
O setContentView inicializa o xml para nós.
Em nossos aplicativos podemos ter várias activitys, ou uma única activity e
varios xmls.
A primeira coisa que vamos criar são nossos atributos widgets e eles nada
mais são do que propriedades.
Então, quais propriedades temos que referenciar?
Aquelas que criamos na activity_main.
Agora observaremos os códigos que inserimos.
No import quando referenciamos o EdtText e Button, sua bibilotecafoi
importada automaticamente.

Caso não tenha importado a biblioteca, o que deverá ser feito?

88
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Passe o mouse em cima do EditText, ele abrirá esta pequena janela.

Podemos realizar dois procedimentos:


Um clicando em More Actions ou apertando Alt+Enter.

Nesta linha de código edtNome = (EditText) findViewById([Link]) é


feito o link do widget_java com o widget_xml.

Este link foi feito com todos os edts e os buttons.

Agora precisamos fazer com eles funcionarem.

89
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos criar o primeiro evento no btnLimpar.


Inserimos o evento do btnLimpar, conforme demonstrado no vídeo, através
do emulador já conseguimos limpar os campos de nosso aplicativo.

Agora precisamos incluir o evento de calcular a média.


Vamos a mais um vídeo demonstrando como fazer a codificação do botão
calcular.
Criamos o comando que fará o cálculo da média e que mostrará o resultado
na tela.

Vamos entender o que fizemos nesta parte do código.


Usamos o OnClickListner para especificar uma ação quando o botão é
pressionado.
O evento onclick ocorre quando o usuário clica em um elemento.
O float foi usado porque estamos criando uma variável.
As variáveis são posições na memória do computador que podem armazenar
dados, elas são formadas por quatro elementos: nome, tipo, tamanho e valor.
Nota1 = [Link]([Link]().toString());
O Nota1 é um float e o edtNota1 é uma string, para que não ocorra erro
precisamos utilizar o [Link].
[Link] serve para converter string em um valor de número com
ponto flutuante (casas após a virgula em português, no caso do javascript o ponto).

90
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Média = (Nota1 + Nota2) / 2, aqui ele está pegando os valores digitados em


Nota1 somando com os digitados em Nota2 e dividindo por dois, que é a quantidade
de notas que digitamos, para realizar o cálculo da média.
[Link]([Link](Media);
Nesta parte do código faz a leitura do valor do cálculo da média e mostra na
janela do nosso emulador.

Vamos ao vídeo para conferirmos o resultado de nosso código até agora.

Desafio 01
O primeiro desafio do nosso curso é: inserir
o campo "Faltas" e criar o campo status ou
citação.
Parâmetros para status de aprovação:
Notas:
● Acima de 7 aprovado
● Entre 3 e 7 exames
● Abaixo de 3 reprovado
Faltas:
● Acima de 20 reprovado por falta.
● De 20 ou menos aprovado por falta.
Tente fazê-lo antes de começar a próxima aula.
Não se preocupe caso não consiga realizá-lo, nas próximas aulas vamos
mostrar como realizar esta tarefa.

EXERCÍCIOS
1. Preencha as lacunas:
a) O ________________ cria o objeto no tamanho do texto dele, no
tamanho que ele foi criado e o _______________ ele preenche toda a
tela.
b) Ao apertar ___________, o AS (Android Studio) automaticamente cria
duas linhas de comando.
c) Essa identificação é necessária porque vamos utilizá-la no _________
quando formos referencia-la, toda informação que eu acessar, usar ou
manipular, obrigatoriamente tem que ter um id.
d) O evento __________, acontece automaticamente quando da criação
da aplicação.

91
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

ANOTAÇÕES

_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

92
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 06
Criando Seu Primeiro Aplicativo III
Observe que no local onde é para digitar as
notas está aceitando outros caracteres além dos
números.
Mas, o que podemos fazer para solucionar este
problema? Minimize o emulador. Feche o seu
emulador.
Clique em activity_maim.xml.

Clique e arraste a barra de rolagem para visualizar a parte do código que


vamos modificar, o EditText do Notas1 e Notas2.

Coloque o cursor na frente do local indicado e aperte enter.

93
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Em todos os campos que incluímos, são esperados um certo tipo de entrada,


seja ela um endereço de e-mail, número de telefone ou até mesmo um texto simples.
Vamos inserir um Android:inputType.

O atributo Android:inputType permite especificar vários comportamentos


para o método de entrada.
Então sempre que utilizar o elemento <EditText> vamos declarar o método
de entrada para os campos de texto, adicionando o atributo Android:inputType.
Veja, existem vários tipos de entradas.

No nosso caso vamos utilizar o numberDecimal, já que as notas podem ser


quebradas, exemplo: 0.5, 1.37 e assim por diante.
Digite Android:inputType=“numberDecimal“.
Faça da mesma maneira para o nota2 e para média.
Vamos rodar nossa aplicação para ver como ficou com está alteração.
Veja o vídeo!
Observe que ele nem mostra mais o teclado alfabético, mostra direto o
numérico.

94
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos melhorar o layout de nosso aplicativo


inserindo cores nele.
Começaremos mudando as cores dos títulos de
nossos widgets.

Feche o emulador.
Agora clique na seta em frente ao values.

Dê um duplo clique em colors.

Vamos inserir novas cores, para isso devemos inserir novas linhas de
códigos.
Observe o vídeo para ver o procedimento para inserção das novas cores.

95
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Ao verificarmos o que foi feito, percebemos uma pequena alteração.


Uma simples linha de código que alterou a cor de nosso widget TextView.
Note nos locais indicados que os textViews receberam a cor inserido no
colors.
Aproveitamos e alteramos a cor do título de nossos botões para black.

Veja como ficou no emulador:


Nosso projeto começou a ganhar forma, então
vamos continuar.
Não gostei muito dessa cor nem do formato desse botão, vamos modificá-los!
Nós podemos mudar completamente o visual deste botão, deixando-o muito
mais atraente e interessante para o nosso usuário.
Podemos realizar essas mudanças a partir de arquivos XML, para isso
precisamos criar um shape para modificar o layout do nosso botão.
Vá à drawable e clique na seta em sua frente.

Para que possamos criar um arquivo XML nele


precisamos, clicar com o botão direito em cima de
drawable.

96
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora clique em new.

Agora clique em Drawable Resource File.

Vamos colocar um nome para o seu arquivo XML, aqui no exemplo colocamos
botao_customizado.

Escreva botao_customizado em File name e Clique em ok!

97
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos analisar o código para modificar o formato de nosso botão.

O nosso código começa com o shape, é ele quem define a forma geométrica
do botão, neste caso foi utilizado é um retângulo, ela também pode aceitar os valores
line, oval e ring.
Para determinar o valor do arredondamento dos cantos do botão, vamos
definir a propriedade Android:radius=”__”.

Para que o botão receba o novo formato precisamos incluir um código no


TextView.
Vamos observar no vídeo como podemos inserir este código!
Android:background="@drawable/botao_customizado“, essa foi a
codificação que inserimos em nosso projeto.

98
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Veja nossos botões agora estão grudados, vamos corrigir este problema.

Para isso vamos utilizar o comando Android:layout_marginTop=" ".


Veja no vídeo como é feita essa inserção!
Agora podemos observar que ficou bem melhor a colocação dos nossos
botões.

Vamos melhorar a caixa de texto onde inserimos nossas informações em


nosso aplicativo.
Para isso vamos inserir um background.
Vamos observar novamente o vídeo.
Nossa já realizamos várias operações em nosso projeto
e como ele modificou bastante.
Vamos corrigir mais um probleminha em nosso
aplicativo:
Se desejarmos digitar algum dado na média,
conseguimos, para que isso não ocorra temos que incluir um:
Android:enabled="false“.

99
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Coloque o cursor do mouse no final da linha de código


Android:background="@color/teal_200".
Aperte Enter.
Agora digite Android:enabled="false“.

Bom, agora vamos rodar nosso emulador para ver se foi resolvido esse
probleminha. Veja o vídeo!
Podemos observar no vídeo que ficou como queríamos, sem poder digitar
nenhuma informação.
Esse campo só irá receber a informação do cálculo da média.
Vamos melhorar um pouquinho mais o nosso projeto.
No campo onde inserimos nossas informações podemos colocar algumas
mensagens.
Por exemplo, no campo para informar o nome do aluno, podemos inserir a
mensagem: Informe seu nome:
Vamos ver na prática como podemos fazer isso, veja o vídeo!
Podemos observar que dentro da barra onde devem ser inseridas as
informações agora contém uma mensagem solicitando qual informação a ser
inserida.

Continuando, você lembra-se de nosso desafio?

100
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos resolvê-lo:
Para resolver nosso desafio, vamos inserir um novo TextView e um novo
EditText, para as faltas.
Vamos até o EditText do nota2 no seu final, colocando o cursor do mouse
em frente ao />.

Agora aperte enter.


Insira os seguintes códigos para o TextView:
<TextView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:textColor="@color/CorTitulo"
Android:text="Faltas"/>
Insira os seguintes códigos para o EditText:
<EditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:inputType="numberDecimal"
Android:background="@color/teal_200"
Android:layout_marginTop="8dp"
Android:hint="INFORME A QUANTIDADE DE FALTAS: "
Android:id="@+id/edtFaltas"/>

Observe como deverá ficar nosso código no activity_maim.xml, a


codificação do faltas.
Agora vamos fazer o status.

101
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Insira os seguintes códigos para o TextView:


<TextView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:textColor="@color/CorTitulo"
Android:layout_marginTop="8dp"
Android:text="Status"/>
Insira os seguintes códigos para o EditText:
<EditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:inputType="numberDecimal"
Android:layout_marginTop="8dp"
Android:background="@color/teal_200"
Android:enabled="false"
Android:id="@+id/edtStatus"/>
Agora precisamos inserir o código no Java® para analisar os parâmetros das
notas e faltas.
E a partir dessa análise poder nos mostrar os resultados.
Para o status de aprovação vamos seguir esses parâmetros:
notas acima de 7 aprovado, entre 7 e 3 exames, abaixo de 3 reprovado,
para as faltas o total será sempre 20, acima de 20 reprovado por falta, 20 ou
menos aprovado.
Clique em [Link] .
Agora vamos inserir os códigos necessários para que nossos novos views
funcionem.
Vamos inserir mais dois EditTex: o edtFaltas e edtStatus.

102
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Coloque o Cursor do mouse na frente do ponto e vírgula do edtMedia.


Vamos apagar o ponto e vírgula apertando o Backspace.
Agora vamos digitar: edtFaltas, edtStatus;

Para o funcionamento do código precisamos linkar estes dois edts com o


[Link].
Coloque o cursor do mouse abaixo do edtMedia e aperte o enter uma vez.
Bom, vamos inserir duas novas linhas de código.
edtFaltas = (EditText) findViewById([Link]);
edtStatus = (EditText) findViewById([Link]);
Após inserir as linhas de códigos deverá ficar conforme a imagem.

Devemos inserir duas novas linhas no código do btnLimpar, conforme a


imagem.

Não podemos esquecer-nos de alterar o btnCalc, para calcular as faltas e


verificar o status.
Para agilizar inseri as novas linhas de código.
[Link](new [Link]() {
@Override
public void onClick(View view) {

103
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

float Media, Nota1, Nota2;


int Faltas;
Nota1 = [Link]([Link]().toString());
Nota2 = [Link]([Link]().toString());
Faltas = [Link]([Link]().toString());
Media = (Nota1 + Nota2) / 2;
[Link]([Link](Media));
if (Faltas > 20){
[Link]("REPROVADO POR FALTAS");
}
else{
if(Media >= 7){
[Link]("APROVADO!");
}else {
if (Media >= 3){
[Link]("EXAME!");
}else{
[Link]("REPROVADO POR NOTA");
}
}
}
}
});

}
}
A primeira linha foi “int Faltas;”.

A segunda foi “Faltas = [Link]([Link]().toString());”.

E por último incluímos a condição if para analisar o status.

104
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Hora de rodar nosso emulador para ver se nossas alterações funcionaram.


Veja o vídeo mostrando o resultado do nosso primeiro aplicativo.
Até aqui aprendemos o básico do Android Studio!

Desafio 02

Crie um projeto que realize um sorteio entre os números 0 e 10.


Ele deverá conter duas Activitys, uma inicial onde ao clicar em start será
direcionada para a segunda Activity onde ela deverá fazer o sorteio aleatório de um
número de 0 a 10.

105
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Segue imagens como exemplo:

EXERCÍCIOS
1. O que o atributo Android:inputType permite?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
2. Qual método de entrada devemos declarar quando incluirmos os campos de
texto?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
3. Onde podemos mudar completamente o visual deste botão?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

106
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

ANOTAÇÕES
_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

107
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 07

Passando Informações entre Activitys I


Nesta aula vamos aprender a enviar informações de uma Activity para outra.
Clique em Create New Project.

Selecione Empty Activity e logo após clique em Next.

Vamos nomeá-lo de Projeto Enviar Dados.

108
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Digite em Name: Projeto Enviar Dados. Faça!


Vamos manter os demais dados como estão e continuaremos utilizando API
19.
Clique em Finish.
Pronto foi criado a estrutura inicial do nosso novo projeto.

Nossa primeira atividade será criar cores, botões e campos de edição com
bordas arredondadas.
A inclusão de novas cores é feitas em colors.
Para acessar colors precisamos clicar na seta na frente de res.

109
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos selecionar values, para isso clique na seta na sua frente.

Vamos agora dar um clique duplo em [Link].

Foi aberta a janela [Link] contendo a codificação de referência das cores,


podemos notar que por padrão o AS nos traz algumas cores inseridas.

Você deve estar se perguntando o que significa esta combinação de letras e


números na codificação de cada cor, não é?

110
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

São códigos hexadecimais!


Cada cor recebe um código hexadecimal para sua identificação, é feito dessa
forma para que a linguagem de programação consiga identificar a cor desejada e ela
se mantenha mesmo nos mais diversos aparelhos.
Vamos inserir a cor #a4c639 que é o código da cor da marca Android.
No local indicado digite:
<color name="Android">#a4c639</color> e aperte enter.

Resumidamente cada cor é especificada de acordo com a intensidade de


seus componentes, sendo eles vermelho, verde e azul, cada representado por oito
bits. Assim, há 24 bits usados para especificar uma cor.
Os códigos das cores são representados desta maneira: pelo símbolo # e por
6 letras ou números.
Toda vez que vamos inserir uma nova cor iniciamos com o #, os dois próximos
dígitos representam a intensidade da cor vermelha. Sendo 00 para o menos e FF
para mais intenso.
O terceiro e quarto representam a intensidade do verde e o quinto e sexto
representam a intensidade do azul.
Isto significa que com a combinação da intensidade destas três cores
vermelho, verde e azul podemos misturar quase qualquer cor que necessitarmos.

111
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

A cor #a4c639 é uma forma de amarelo esverdeado, composta por: um


compromisso de 64.31% vermelho, 77.65% verde e 22.35% azul.
Mas não vamos nos aprofundar muito nesse assunto, já que não é nosso foco
principal.
Na internet existem várias tabelas onde podemos encontrar os códigos das
cores.
Vamos inserir uma cor cinza, vamos nomeá-la como Silver seu código
hexadecimal é #C0C0C0.
Digite no local indicado:
<color name="silver">#C0C0C0</color> e aperte enter.

Estas cores são suficientes para a criação de nosso aplicativo, mas podem
ser adicionadas quantas cores forem necessárias.
Clique no X da janela [Link] para fechá-la.

Vamos criar bordas arredondadas para nossos botões e campos de edição.


Clique com o botão direito em cima da pasta drawable.

Passe o mouse sobre New para abrir uma nova janela de seleção.

112
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos clicar em Drawable Resource File.

Vamos criar primeiro nosso botão arredondado.


Para isto vamos nomeá-lo de btn_customizado.
Digite no local indicado:
btn_customizado e Clique em ok.

Foi criado um arquivo drawable que será responsável por realizar o efeito
arredondado nos componentes que desejamos.

113
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Podemos ver que está aparecendo a tag selector, não vamos utilizá-la então
vamos apagá-la.
Selecione todo o local indicado.

Agora aperte delete.


Vamos utilizar a forma retângular (rectangle), para isso vamos usar a tag
shape que é usada para definir a forma que vamos aplicar em nosso componente.
Vamos definir uma cor de fundo para nosso componente, para isso vamos
usar a tag solid.
Não podemos nos esquecer que queremos nossas bordas arredondadas para
isso vamos utilizar a tag corners, é ela quem de fato aplica as bordas arredondadas.
Vamos inserir a codificação de nosso componente.

No local indicado digite:


<shape
E aperte enter.

Agora vamos digitar no local indicado:

114
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

xmlns:Android=[Link] e aperte
enter.

No local indicado digite:


android:padding="10dp“ e aperte enter.

Digite no local indicado:


android:shape="rectangle"> e aperte duas vezes o enter.

Agora digite: <solid Android:color="@color/Android"/> e aperte duas


vezes o enter.

Agora digite no local indicado: <corners e aperte enter.

No local indicado digite: android:bottomLeftRadius="10dp“ e aperte enter.

115
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: android:bottomRightRadius="10dp“ e aperte


enter.

No local indicado digite: android:topLeftRadius="10dp" e aperte enter.

No local indicado digite: android:topRightRadius="10dp"/> e aperte duas


vezes o enter.

116
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: </shape>

Podemos observar que as bordas agora estão arredondadas.

Para agilizar vou fazer o mesmo processo para criar formas arredondadas
para nossos campos de edição.
Pronto agora também temos nossos campos de edição com bordas
arredondadas.

Vamos dar prosseguimento em nosso projeto, clique em activity_main.

Vamos inserir LinearLayout no lugar de


[Link].
Coloque o cursor do mouse no local indicado!

117
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Aperte Backspace até apagar o


[Link]!

Digite no local indicado LinearLayout.

Será necessário inserir uma orientação.

Vamos utilizar a orientação Vertical, para isso precisamos inserir a linha de


código: Android:orientation="vertical“.
Digite no local indicado:
Android:orientation= "vertical“ e aperte enter.

118
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos inserir uma margem para que nossos widgets não fiquem
colados à borda.
No local indicado digite:
Android:layout_margin="8dp”.

Para melhorar nosso design, vamos inserir uma cor de fundo utilizando o
background.
No local indicado digite: Android:background="@color/silver"

Criaremos agora um pequeno formulário, para isso, precisamos apagar


algumas linhas de código que não vamos utilizar.
Selecione as linhas indicadas.

119
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Aperte delete!

No local indicado digite: Android:text="NOME: “ e aperte enter.

No local indicado digite: Android:textColor="@color/black“ e aperte enter.

No local indicado digite: Android:textSize=“20sp“ e aperte enter.

No local indicado digite: Android:textStyle="bold“.

120
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


<EditText e aperte TAB.

No local indicado digite: match_parent.

No local indicado digite: wrap_content.

No local indicado digite: Android:id="@+id/edtNome" e aperte enter.

No local indicado digite: Android:textSize="20sp"e aperte enter.

121
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


Android:background="@drawable/edicao_customizado"/> e aperte duas
vezes o enter.

No local indicado digite: <TextView e aperte TAB.

No local indicado digite: match_parent.

No local indicado digite: wrap_content.

No local indicado digite: Android:text="E-mail: “ e aperte enter.

122
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: Android:textColor="@color/black“ e aperte enter.

No local indicado digite: Android:textSize=“20sp“ e aperte enter.

No local indicado digite: Android:textStyle="bold"/> e aperte enter.

No local indicado digite: <EditText e aperte TAB.

No local indicado digite: match_parent.

123
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: wrap_content.

No local indicado digite: Android:id="@+id/edtEmail“ e aperte enter.

No local indicado digite: Android:textSize="20sp“ e aperte enter.

No local indicado digite:


Android:background="@drawable/edicao_customizado"/> e aperte duas vezes
o enter.

No local indicado digite: <TextView e aperte TAB.

124
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: match_parent.

No local indicado digite: wrap_content.

No local indicado digite: Android:text="Celular“ e aperte enter.

No local indicado digite: Android:textColor="@color/black“ e aperte enter.

No local indicado digite: Android:textSize=“20sp“ e aperte enter.

125
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: Android:textStyle="bold"/> e aperte duas vezes


enter.

No local indicado digite: <EditText e aperte TAB.

No local indicado digite: match_parent.

No local indicado digite: wrap_content.

No local indicado digite: Android:id="@+id/edtCelular“ e aperte enter.

No local indicado digite: Android:textSize="20sp“ e aperte enter.

126
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


Android:background="@drawable/edicao_customizado"/> e aperte duas vezes
o enter.

Vamos ver como está ficando nosso design.


Clique em Design!

Podemos observar que as bordas estão arredondadas!

Vamos inserir dois buttons, um para enviar os dados e outro para limpar os
dados, vamos aproveitar também para melhorar nosso layout.
No local indicado digite: <Button e aperte TAB.

127
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Para esses botões vamos usar valores.


No local indicado digite: 200dp

No local indicado digite: wrap_content.

No local indicado digite: Android:text="ENVIAR INFORMAÇÕES“ e aperte


enter.

No local indicado digite: Android:layout_marginTop="20dp" e aperte enter.

No local indicado digite: Android:layout_gravity="center“ e aperte enter.

No local indicado digite:


Android:background="@drawable/btn_customizado" e aperte enter.

128
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: Android:textColor="@color/black"/> e aperte o


enter.

No local indicado digite: Android:id="@+id/btnVoltar“/> e aperte o enter


duas vezes.

Para agilizar já deixei pronto a inserção do botão inserir.

Chegou o momento de inserirmos uma nova activity!


Mas para nossa aula não ficar muito comprida, pararemos por aqui e vamos
inserir a nova activity na próxima aula.

129
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Não se esqueça de salvar para podermos dar continuidade do ponto onde


paramos.

EXERCÍCIOS
1. Onde podemos incluir novas cores no Android Studio?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
2. Qual significado da combinação de letras e números na codificação de cada cor?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
3. Como são representados os códigos de cores?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
4. Para que é usado a tag Shape?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

ANOTAÇÕES
_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

130
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 08

Passando informações entre activitys II


Agora sim, chegou o momento de inserirmos uma nova activity!
Abra no AS o projeto da aula 7 e assim daremos continuídade a ele.
Para isso precisamos ir em File, New, Activity e EmptyActivity.
Vamos fazer passo a passo essa inserção.
Clique em File.

Agora leve o cursor do mouse até new.

Vamos em Activity, e clique na seta na sua frente.

131
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora clique em Empty Activity.

Precisamos nomear essa nova activity.


Vamos colocar DadosActivity, o restante continua o mesmo.
Digite DadosActivity no local indicado e clique em Finish!

Observe, foi criada uma nova activity com o nome activity_dados.xml e uma
nova [Link].

132
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em activity_dados.xml.

Veja é a mesma estrutura da [Link], mas é uma nova tela do


nosso projeto.

Essa tela é bem simples, ela irá exibir os dados que serão inseridos na
primeira tela, vamos configurar nosso layout.
Vamos inserir LinearLayout no lugar de
[Link].
Coloque o cursor no local indicado.

Agora aperte Backspace para apagar o


[Link].

133
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite LinearLayout.

No local indicado digite: Android:orientation="vertical“ e aperte enter.

No local indicado digite: Android:layout_marginTop="10dp“.

134
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos criar um conjunto de TextView, nessa activity, ele irá somente
mostrar informações.
Vamos inserir dois TextViews, o primeiro para rotular e o segundo para
mostrar o resultado.
No local indicado digite:
<TextView e aperte TAB.

Ao apertarmos TAB após digitarmos <TextView o Android automaticamente


cria as linhas layout_width e Layout_heigth.
Faltando apenas definir se queremos wrap_content ou match_parent.
Digite no local indicado: wrap_content.

Digite no local indicado: wrap_content.

Digite no local indicado: Android:text="Nome: " e aperte enter.

No local indicado digite: Android:textColor="@color/Android“ e aperte


enter.

135
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: Android:textSize="20sp“ e aperte enter.

No local indicado digite: <TextView e aperte TAB.

No local indicado digite: match_parent.

No local indicado digite: Android:id="@+id/txtNome“ e aperte enter.

No local indicado digite:


Android:background="@drawable/edicao_customizado" e aperte enter.

136
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: Android:textColor="@color/Android“.

Bom, já criei os outros dois widgets que faltavam: o E-mail e o Celular.


Ainda está faltando algo nesta tela, falta um Botão.
No local indicado digite: <Button e aperte TAB.

No local indicado digite: 200dp.

No local indicado digite: wrap_content.

No local indicado digite: Android:text="Voltar para a tela principal“ e aperte


enter.

137
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: Android:layout_gravity="center" e aperte enter.

No local indicado digite: Android:layout_marginTop="20dp“ e aperte enter.

No local indicado digite: Android:backgroundTint="@color/Android“ e


aperte enter.

No local indicado digite: Android:textColor="@color/black“ e aperte enter.

138
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: Android:id="@+id/btnVoltar".

Montamos nossas duas interfaces, agora criaremos nossos envios.


Clique em [Link].

No MainActivity vamos referenciar todos os nossos widgets.


Coloque o cursor do mouse no local indicado.

Aperte enter duas vezes.

139
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos digitar no local indicado:


EditText, edtNome, EdtEmail, edtCelular;.

Agora precisamos ligar ou linkar esses widgets java como nossos xml.

Insira o cursor do mouse na no local indicado.

140
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Aperte enter duas vezes!

Digite no local indicado: edtNome = (EditText)


findViewById([Link]); e aperte enter.

No local indicado digite: edtEmail = (EditText)


findViewById([Link]); e aperte enter.

Agora digite no local indicado: edtCelular = (EditText)


findViewById([Link]); e aperte duas vezes enter.

141
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora precisamos linkar nossos dois buttons.

Vamos digitar no local indicado: Button btnEnviar, btnLimpar;

Agora coloque o cursor no local indicado.

Aperte enter duas vezes!

142
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: btnEnviar = (Button)


findViewById([Link]); e aperte enter.

Digite no local inicado: btnLimpar = (Button)


findViewById([Link]); e aperte enter.

Agora podemos inserir os eventos de nossos botões.


No local indicado digite: [Link](new
[Link]() e aperte TAB.

Alguns comandos quando apertamos TAB ele inclui automaticamente uma


parte do código, isso é uma das facilidades das bibliotecas inclusas no Android
Studio.

Digite no local indicado: [Link](""); e aperte enter.

143
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Digite no local indicado: [Link](""); e aperte enter.

Agora digite no local indicado: [Link]("");.

Observe o local indicado da imagem o evento inserido no btnLimpar, que tem


a função de limpar os dados inseridos.

Agora vamos a novidade, o btnEnviar.


Coloque o cursor do mouse no local indicado.

Aperte duas vezes o enter.

144
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: btnEnviar .setOnClickListener(new


[Link]() e aperte TAB.

No local indicado digite:


Intent enviarDados =new Intent( [Link],[Link]);
e aperte enter.

O Intent é um objeto de mensagem que pode ser usado para solicitar uma
ação de outro componente do aplicativo.
PackageContext: [Link] é o local onde estamos.
[Link] é quem nós queremos chamar.

Digite no local indicado:


Bundle bundle = new Bundle(); e aperte duas vezes o enter.

O Bundle pode ser usado para guardar dados dentro de uma intent.
O Bundle é uma classe usada para guardar objetos na forma de pares
chave/valor e ele passa dados entre componentes do Android pela class Intent.
Então o bundle permite criar uma coleção de dados e passa esses dados de
uma intente para outra.
No local indicado digite: [Link]("varNome",
[Link]().toString()); e aperte enter.

145
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: [Link]("varEmail",


[Link]().toString()); e aperte enter.

No local indicado digite: [Link]("varCelular",


[Link]().toString()); e aperte enter duas vezes.

No local indicado digite: [Link](bundle); e aperte duas


vezes enter.

146
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O putExtra() é um método, composto por chave/valor, onde a chave sempre


será do tipo String e no valor podemos usar os tipos de dados primitivos como o int,
float, entre outros e objetos do tipo String, Bundle entre outros.
No local indicado digite: startActivity(enviarDados);

O startActivity é o metodo para iniciar um novo serviço, uma nova intent.


Feito isto precisamos receber estas informações.
Clique em [Link].

Primeiro temos que criar nossos TextViews.


Digite no local indicado: TextView txtNome, txtEmail, txtCelular;

147
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos inserir os Buttons.


Digite: Button btnVoltar;

Agora vamos linkar os widgets java com o widget XML.


No local indicado digite: txtNome = (TextView)
findViewById([Link]); e aperte enter.

No local indicado digite: txtEmail = (TextView) findViewById([Link]);


e aperte enter.

Digite no local indicado: txtCelular = (TextView)


findViewById([Link]); e aperte.

148
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Digite no local indicado: btnVoltar = (Button) findViewById([Link]);


e aperte enter duas vezes.

Agora vamos criar outra Intent que irá receber os Dados e precisamos ler
esses Dados, por isso vamos usar um getIntent.
Digite no local indicado: Intent receberDados = getIntent(); e aperte enter
duas vezes.

Digite no local indicado: Bundle bundle = [Link](); e


aperte enter duas vezes.

149
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Digite no local indicado: [Link]([Link]("varNome")); e


aperte enter.

Digite no local indicado: [Link]([Link]("varEmail")); e


aperte enter.

Digite no local indicado:


[Link]([Link]("varCelular")); e aperte enter duas
vezes.

Digite no local indicado:


[Link](new [Link]() { @Override
public void onClick(View view) { [Link]();}});

150
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos Rodar nosso emulador.


Acompanhe o vídeo, clique no iniciar para começar o vídeo!

Desafio 03
Desenvolva um aplicativo Salmos do dia.
Ele deverá ter apenas uma Activity, nela deverá conter uma imagem inicial,
um botão, que ao ser clicado deverá mostrar um salmo e um TextView onde
mostrará os salmos.
Conforme apresentado pelas imagens abaixo!

151
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

EXERCÍCIOS
1. Complete as lacunas?
a) Ao apertarmos TAB após digitarmos _____________________o Android
automaticamente cria as linhas ____________________ e
_____________________________.
b) No __________________________ vamos referenciar todos os nossos widgets.
c) Alguns comandos quando apertamos _______________ ele inclui
automaticamente uma parte do código, isso é uma das facilidades das
______________ inclusas no _____________________.
d) O ____________________________________é um objeto de mensagem que
pode ser usado para solicitar uma ação de outro componente do aplicativo.
e) O __________________________ é uma classe usada para guardar objetos na
forma de pares chave/valor e ele passa dados entre componentes do Android pela
_______________________.

ANOTAÇÕES
_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

152
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 09
Fragmentos
A partir desta aula nos aprofundaremos um pouco mais no Android Studio.
Vamos começar pelos Fragmentos.
Pensando em deixar o trabalho mais eficiente foi criado o fragments.
Para a equipe do site Developer ele é uma seção modular de uma atividade,
que tem o próprio ciclo de vida.
Ele recebe os próprios eventos de entrada e que pode ser adicionado ou
removido com a atividade em execução (uma espécie de "subatividade" que pode
ser reutilizada em diferentes atividades).
Resumidamente ele representa um comportamento de interface com o
usuário.
Além do mais permite o reuso de códigos e torna a interfaces mais dinâmicas.
Segue imagem exemplificando:

Um exemplo simples e fácil de entendermos o que são fragmentos é o


WhatsApp.
Quando clicamos em cima de conversas ele abre o fragmento destinado a
conversas e quando clicamos em chamadas ele abre o fragmento chamadas.

153
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Então o objetivo do WhatsApp é criar uma activity principal onde ao clicar em


outros fragmentos pode-se abrir uma nova porção de interfaces.
Vamos criar um projeto no Android Studio, nomeando-o com ProjetoAula9.
Clique em Create New Project.

Agora vamos selecionar uma Empty Activity e logo após clique em Next.

Vamos chamá-lo de Projeto Aula9.

154
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Digite no local indicado: Projeto Aula8.

Vamos manter os demais dados como estão e continuaremos utilizando API


19.
Agora clique em Finish.

A primeira coisa que vamos fazer, será apagar o Hello World.

155
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em cima do Hello World e aperte delete.

Vamos deixar todos os views alinhados baseados em uma linha guia.

Clique com o botão direito em cima do layout.

156
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora coloque o cursor do mouse em cima de Helpers.

Vamos ativar uma linha Vertical Guideline.


Clique no local indicado!

Agora clique em Guildeline no local indicado.

157
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora clique no local indicado.

Clique novamente no local indicado.

Observe que agora está alinhado baseado em porcentagem.

158
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em cima da linha pontilha e mantendo-a selecionada arraste para a


direita até chegar em 50%.

Vamos adicionar dois buttons, mas vamos fazer isso de uma maneira
diferente.

Clique no local indicado.

159
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Observe que a nossa direita abriu uma nova janela, vamos utilizá-la na
inserção de nossos botões.

Veja o vídeo mostrando como inserir os botões.


Veja no emulador como ficou.

Vamos criar uma estrutura chamada de FrameLayout.

160
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Ela é utilizada para que possamos carregar dentro dela os nossos


fragmentos.
Clique no local indicado!

Agora digite FrameLayout no local indicado.

O framelayout funciona como um contêiner, vamos adicioná-lo dentro de


nossa view e sempre que desejarmos podemos carregar dentro dele os nossos
fragmentos.
Vamos observar no vídeo o procedimento de inclusão do FrameLayout.
Veja ao seu lado esquerdo em Component tree consta tudo que inserimos
em nossa view.

161
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Bom agora que temos nosso FrameLayout vamos criar os fragmentos que
serão carregados dentro dele.

Podemos ter vários fragmentos dentro dele e a maior vantagem de usar os


fragmentos é que quando criamos um fragmento podemos utilizá-lo em várias outras
activitys.
Desta forma podemos reaproveitar nossos códigos.
Agora precisamos criar dois pacotes.
Clique em cima do [Link].projetoaula8 com o botão direito.

Agora clique em New!

162
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Selecione Package!

Vamos renomear o pacote, para isso precisamos apagar o nome que está
aparecendo que vem por padrão.

Clique no local indicado e aperte Backspace para apagar o nome.

163
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos colocar o nome activity.


Digite activity no local indicado.

Vamos fazer novamente os passos, só que vamos colocar o nome de


fragmentos.
Clique em cima do [Link].projetoaula8 com o botão direito.

Agora vá em New!

164
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Selecione Package!

Clique no local indicado e aperte Backspace!

Digite fragmentos no local indicado.

165
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Aperte enter.

Agora vamos mover as packages para o local correto.


Clique em cima da pasta activity, mantenha pressionada e arraste-a até a
pasta [Link].projetoaula8.

Clique em Ok!

Agora clique em Refactor.

166
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Faça o mesmo com a pasta fragmentos.

Clique em Ok!

Clique em Refactor.

Agora vamos fazer o mesmo como o nosso MainActivity, mas vamos inseri-
lo na pasta activity.
Clique com o botão direito e o mantenha pressionado em cima do mainactivity.

167
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Refactor.

Observe como ficou a organização de nossas pastas.

Vamos criar nossos Fragmentos:


Clique com o botão direito em cima da pasta fragmentos.

Clique em New!

168
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora clique em fragment.

Agora vamos renomear nosso componente.

Vamos manter Fragment e vamos inserir o Conversas.

169
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora apague até o Fragment apertando delete.

Agora vamos digitar Conversas.

Veja agora temos um novo XML.

E temos também o nosso [Link].

170
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos fazer algumas modificações, para isso vamos ver o vídeo com as
realizações delas.
Agora vamos fazer os mesmos procedimentos para criar um fragmento para
o contato.
Vamos acompanhar o vídeo com os procedimentos a serem feitos.
Veja, foram criados os fragmentos.

Agora precisamos colocar uma ID para cada fragmento.


Para isso clique no local indicado.

Coloque o Cursor do mouse no local indicado.

Digite txtContatos e clique em ContatosFragment.

171
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos colocar um atributo, coloque o cursor do mouse no local


indicado.

Aperte Enter duas vezes!

Digite privete TextView textContatos;.

172
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora precisamos alterar o que nós acabamos de criar esse TextView dentro
do fragment_contatos.

Vamos descer nossa tela até o método public View onCreateView


(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState).
Para isso vamos usar a barra de rolagem. Clique na barra de rolagem
seguindo a seta tracejada.

Vamos modificar o return, ao invés de ser o return, vamos colocar um View


view.

173
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O [Link] é utilizado para converter um arquivo xml em uma View.


Coloque o cursor do mouse em frente ao return.

Agora vamos usar o Backspace.


Aperte Backspace até apagar o return.

Digite View view =.

174
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos retornar essa view. Coloque o cursor do mouse no local indicado
e aperte enter duas vezes.

Digite no local indicado: return View;.

O que nós fizemos com este procedimento: criamos uma variável para
receber o resultado do inflater que é uma view.
Feito isto conseguimos acessar TextView do fragment_Contatos.
Vamos inserir mais uma linha de código.
Digite no local indicado: textContatos = [Link]([Link]);

175
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Aperte Enter.

Vamos inserir um setText.


Digite no local indicado: [Link]("Contato Alterado");

Com isso feito, podemos alterar nossos contatos.

176
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Basicamente dentro de um fragment é possível recuperar componentes da


tela e utilizar dentro de um método onCreateView.
Veja, ainda não conseguimos executar nosso aplicativo, para que ele funcione
corretamente.
Clique em activity_main.xml.

Agora clique em conversas.

Coloque o cursor do mouse no local indicado.

Agora digite no local indicado: Conversas.

177
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos fazer a mesma coisa para contatos.


Clique em Contatos.

Coloque o cursor na frente de button2.

Agora apague o número 2, apertando o Backspace.

178
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: Contatos.

Agora vamos criar um id para nosso Frame Layout.


Clique no local indicado.

Agora coloque o cursor do mouse no local indicado.

179
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Digite frameConteudo

Agora vamos em [Link].


Clique no local indicado!

Vamos criar os atributos para nosso botão conversa e botão contato.


Clique no local indicado!

Aperte enter duas vezes.

180
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: private Button buttonConversas, buttonContatos.

Agora coloque o mouse no local indicado e aperte enter.

No local indicado digite: private ConversasFragment conversasFragment;.

Como já criei o objeto ConversasFragment, agora eu posso instanciar nosso


fragmento.

181
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique no local indicado.

Aperte enter duas vezes.


No local indicado digite: ConversasFragment = new ConversasFragment ();.

Agora precisamos configurar o objeto para o Fragmento.


No local indicado digite: FragmentTransaction transaction =
getSupportFragmentManager().beginTransaction();.

No local indicado digite:


[Link]([Link], conversasFragment);.

182
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Cada conjunto de alterações realizadas na atividade é chamado de transação


e cada alteração pode ser feita usando APIs em FragmentTransaction.

Neste caso FragmentTransaction é utilizado para acessar o fragmento do


ConversasFragment.
Nomeamos como transaction.
Dentro da atividade, chame getSupportFragmentManager() para obter um
FragmentManager usando as APIs da Biblioteca de Suporte.
Em seguida, chame beginTransaction() para criar
uma FragmentTransaction.
Em seguida, chame add() para adicionar um fragmento.
Podemos realizar várias transações de fragmentos para a atividade usando a
mesma FragmentTransaction.
Toda vez que usamos o begin, estamos abrindo uma transação e para
terminar precisamos fechá-lo.
Para isso vamos usar o commit().
Ele diz que estamos prontos para realizar as mudanças.
No local indicado digite: [Link]();

183
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Como vamos usar nossos botões, precisamos configurá-los.


No local indicado digite:
buttonContato = findViewById([Link]); e aperte enter.

No local indicado digite:


buttonConversa = findViewById([Link]);.

Ao fazer a configuração do findViewById dos botões eu consigo configurar o


botão para quando o usuário clicar no botão ele possa carregar o fragmento.
Porém antes precisamos configurar o contatofragment, da mesma maneira
que fizemos o conversasfragment.
Vamos configurar os Botões.
Veja o vídeo com a configuração dos botões.
E agora? Sobrepôs um fragmento em cima do outro.

184
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Isso aconteceu porque utilizamos o add, para que isso não ocorra vamos
modificar e utilizar o replace.
O Replace funciona da mesma maneira que o add, porém ele substitui o
fragmento que está sendo apresentado.
Vamos ao vídeo mostrando as alterações necessárias.
Agora vamos configurar nosso buttonConversas.
Vamos ao vídeo!

Bom nosso app da aula8 está pronto.

Desafio 04
JOGO CARA OU COROA
Cara ou Coroa é um jogo simples, que consiste em se atirar uma moeda ao
ar para então verificar qual de seus lados ficou voltado para cima após sua queda.
É comumente utilizado para se escolher entre duas alternativas ou para resolver
uma disputa entre duas partes.
Esse método de escolha tem necessariamente apenas duas possibilidades
de resultado, as quais têm a mesma probabilidade de ocorrência. Um uso frequente
é a decisão de quem fará o movimento inicial em alguma atividade. No futebol, por
exemplo, a moeda decide quem ficará com o direito de opção pelo campo ou pela
bola.

185
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Crie um aplicativo simples onde tenha duas activitys, uma com a tela inicial
do jogo, ao clicar em jogar, apareça na próxima tela o resultado: cara ou coroa.
Na segunda Activity deverá aparecer o resultado em imagem e um botão
voltar, ao clicá-lo deverá retornar a página inicial.
Utilize as imagens para auxílio.

EXERCÍCIOS
1. Complete as lacunas:
a) Os ________________ recebem os próprios eventos de entrada e que pode ser
adicionado ou removido com a atividade em execução (uma espécie de
"subatividade" que pode ser reutilizada em diferentes atividades).
b) Resumidamente ele representa um comportamento de ____________________,
além do mais permite o reuso de códigos e torna a interfaces mais dinâmicas.
c) O _______________________ funciona como um contêiner, vamos adicioná-lo
dentro de nossa view e sempre que desejarmos podemos carregar dentro dele os
nossos fragmentos.
d) O ________________________ é utilizado para converter um arquivo xml em
uma View.

186
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

ANOTAÇÕES

_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

187
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 10

Inserindo Imagens e List Views I


Nesta aula vamos aprender como inserir imagens em nossos aplicativos e a
trabalhar com ListView.
Vamos criar um novo Aplicativo.
Clique em Create New Project.

Clique em Empty Activity.

188
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Next!

Coloque o nome de Projeto Aula10.

Clique em Finish.

Vamos começar pela nossa activity_main.xml, clique sobre ela.

Vamos selecionar Code.


Clique no local indicado!

189
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos começar alterando nosso layout para LinearLayout.


Coloque o cursor do mouse no local indicado.

Utilize o backspace para apagar até o sinal de menor (<) do


[Link].

No local indicado digite: LinearLayout.

Agora vamos colocar uma margem, coloque o cursor do mouse na frente do


Android:layout_height="match_parent“ e aperte enter.

No local indicado digite: Android:layout_marginTop="10dp".

190
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos colocar uma orientação vertical, para isso coloque o mouse na frente
do “10dp” e aperte enter.

Digite: Android:orientation="vertical".

Vamos selecionar o TextView e apagá-lo, pois não vamos utiliza-lo.

Selecione todos os itens do local indicado.

Agora aperte Backspace.

191
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos começar a trabalhar com um novo componente o ImageView.


O ImageView nos permite trabalhar com imagens.
Devido aos vários tamanhos de telas em dispositivos Android, o imageView
passa de fácil para um vilão, já que a boa aparência hoje em dia é muito importante
para os apps.
Vale ressaltar que devido aos diversos tipos de scalas, o imageView trabalha
com diversas opções de configurações.
As escalas são usadas para dimensionar os limites de uma imagem até os
limites de sua visualização.
Os formatos de imagens suportados por esse componente são: PNG, JPEG,
BMP, GIF.
Vamos começar, digite <ImageView.

Aperte Enter.

192
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos digitar no local indicado:


Android:layout_width=“match_parent".

Aperte Enter.

Digite: android:layout_height="wrap_content".

Agora vamos adicionar um ID para nosso imageView.


O ID é um atributo usado para identificar exclusivamente a visualização de
uma imagem no Android.
Digite no local indicado: Android:id="@+id/imgFoto".

193
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Digite no local indicado: Android:src=""/>

Vamos entender um pouco sobre as imagens no Android Studio.


Clique na setinha em frente ao res.

Agora clique na setinha em frente ao drawable.

194
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

As imagens do Android Studio ficam dentro do Drawable, ele já tem duas


imagens xml que são o [Link] e [Link].
Um recurso Drawable é um conceito geral para um gráfico que pode ser
desenhado.
Resumindo é uma abstração geral para algo que pode ser desenhado.
No Drawable podemos encontrar arquivos XML representando formas e
outros tipos de itens desenhavam.
No Android Studio por padrão ele vem com um conjunto de imagens e ícones
mapeados no formato xml.
Como eu posso criar uma imagem desse banco de dados do Android Studio?
Vamos em drawable clicando com o botão direito do mouse.

Agora vamos em New.

Vamos selecionar Image Asset.


Clique com o botão esquerdo sobre ele.

195
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Se clicarmos no local indicado, vamos encontrar diversos tipos de ícones.

Veja, abriu uma janela onde encontramos os tipos de ícones que podemos
utilizar.

Vamos selecionar o TV Banners para analisarmos o que acontece.


Clique no local indicado.

196
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Podemos ver que o tipo de apresentação do ícone mudou.

Como também houve a mudança das configurações, por exemplo, o Name


mudou de ic_launcher para ic_banner.

Outra mudança que neste tipo de ícone não encontramos o Sourch Assent
(Autorização da Fonte).

197
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos voltar ao tipo de ícone que estava antes, clique no local indicado.

Clique em Launcher Icons (Adaptive and Legacy).

No Path podemos carregar uma imagem.


Clique no local indicado para verificarmos o que acontece.

198
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Ele abre a janela selecionar o Caminho, então podemos selecionar uma


imagem existente.
Clique em cancel.

Podemos criar uma imagem tipo clip art.


Clique no local indicado.

Agora vamos observar os tipos de ícones que podemos selecionar, vamos ao


vídeo. Clique em text.

199
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O que devemos ter muito cuidado para quando criarmos uma imagem o ideal
é que ela não ultrapasse 64x64, caso contrarie a imagem pode estourar.

Clique em cancelar!

No nosso caso vamos usar várias imagens, então vamos aprender de uma
maneira diferente e um pouco mais prática.
Vamos ao vídeo para vermos o procedimento de inserção das imagens.
Uma observação importante é que todo nome de imagem colocada no
drawable deve começar com uma letra minúscula.
Se começar o nome com letra maiúscula ou com caractere especial ele não
irá reconhecer e consequentemente não irá carregar esta imagem.
Agora podemos completar nosso src.

200
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Coloque o cursor do mouse no “|” do src.

No local indicado digite: @drawable/img1.

Agora vamos criar um TextView.

Aperte enter duas vezes.

No local indicado digite:


<TextView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
/>.

201
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Coloque o cursor do mouse em frente ao /> e aperte enter.

Digite: Android:text="Foto 1“ e aperte enter.

Agora vamos digitar no local indicado:


Android:textAlignment="center“ e aperte enter.

Precisamos colocar um id para este TextView.


Digite no local indicado: Android:id="@+id/txtFoto".

Precisamos agora criar dois buttons.


Vamos ao Vídeo mostrando a inserção dos buttons.
Agora que inserimos nossos xmls, vamos para o Java.

202
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique no local indicado.

Vamos criar nossos atributos.

Coloque o cursor do mouse no local indicado.

Clique enter duas vezes!

203
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: ImageView imgFoto; e aperte enter.

Agora no local indicado digite: TextView txtFoto; e aperte enter.

Digite: Button btnFoto1, btnFoto2;

Agora precisamos linkar os nosso widgets java com os widgets xml.


Coloque o cursor do mouse no local indicado.

204
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Aperte enter duas vezes!

No local indicado digite: txtFoto = (TextView) findViewById([Link]); e


aperte enter.

Agora no local indicado digite: imgFoto = (ImageView)


findViewById([Link]); e aperte enter.

No local indicado digite: btnFoto1 = (Button) findViewById([Link].btnFoto1);


e aperte enter.

205
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora no local indicado digite: btnFoto2 = (Button)


findViewById([Link].btnFoto2); e aperte enter.

Para que isto ocorra vamos criar um evento de click para os botões.
Em nosso projeto desejamos que ao clicar no botão exibir foto1 apareça o
img1 e quando apertar exibir foto2 apareça o img2.
No local indicado digite:
[Link](new [Link]() {
@Override
public void onClick(View v) { } };

Coloque o cursor do mouse no local indicado.


Aperte enter duas vezes.

Agora no local indicado digite:


[Link]([Link].img1);

206
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

[Link]("Foto 1"); está parte do código usamos para setar nosso


txtFoto. [Link]([Link].img1);
Já está parte do código ele vai carregar a foto que está dentro do nosso
Resource Drawable.
Agora vamos fazer a mesma coisa com o btnFoto2.
Vamos ao vídeo para observamos a inserção do btnFoto2.
Vamos rodar nosso emulador para ver como ficou nosso projeto.
Assista o vídeo.
Nosso projeto Aula10 funcionou como codificamos.

EXERCÍCIOS
1. Quais são os formatos de imagem que o ImageView aceita?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
2. O que é um ID?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

207
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

3. Quais são as imagens que já vem por padrão dentro do Drawable?


__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
4. O que é Drawable?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
5. O que podemos fazer no Path?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

ANOTAÇÕES

_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

208
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 11

Inserindo Imagens Utilizando ListViews II


Vamos criar outro projeto usando a mesma ideia do nosso Projeto Aula9, mas
utilizando uma listView.
Vamos criar um projeto, clique em File.

Clique em New!

Agora Clique em New Project!

209
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Empty Activity.

Clique em Next!

Agora vamos nomear nosso projeto.

Digite Projeto Lista de Contatos.

Clique em Finish!

210
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Bom a ideia central desse projeto é criar uma pequena lista de contatos com
um conjunto de informações.
Existem muitos aplicativos que utilizam essa ideia, como por exemplo o
carrinho de compras de um supermercado.
Pegue como exemplo refrigerante, quandoo voce pesquisa sobre ele no
supermercado, ele mostra uma lista com todos os tipos disponíveis, tamanhos e
informações sobre cada um deles.
Vamos começar pela nossa activity_main.
Clique sobre o local indicado.

Aqui vamos trabalhar com dois xml, e três arquivos java em uma única intent.
Vamos alterar nosso layout de
[Link].
Vamos colocar LinearLayout.
Coloque o cursor do mouse no local indicado.

Aperte Backspace até apagar


[Link].

Digite LinearLayout.

211
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos agora colocar a orientação e a margin, coloque o cursor do mouse


no local indicado e aperte enter.

No local indicado digite: Android:orientation="vertical“ e aperte enter.

No local indicado digite: Android:layout_margin="10dp“, para não ficar


muito colado a borda.

Vamos usar o novo widget o ListView, para isso vamos apagar o TextView
inteiro. Selecione o local indicado.

Aperte Backspace.

212
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: <ListView


Android:layout_width="match_parent"
Android:layout_height="wrap_content“ />

Vamos inserir na coletânea de dados colocando um ID.

No local indicado digite: Android:id="@+id/lsvContatos“ e aperte enter.

Vamos utilizar um comando novo o DividerHeigth.

213
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O Divider cria uma linha como divisória de itens, evitando que um item fique
muito colado ao outro, observe a figura exemplo, existe uma linha entre os itens.

No local indicado digite: Android:dividerHeight="1sp“ e aperte enter.

Vamos colocar uma cor para essa linha.


No local indicado digite: Android:divider="#4f4f4f“ e aperte enter.

Para esse activity_main vamos criar somente isso.

214
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Mas para a nossa lista de contatos precisamos colocar o nome e a foto do


contato.
Veja, para que possamos mostrar uma informação, ela sempre será
apresentada dentro do xml, então tudo que eu leio na interface do nosso app eu
mando de volta dentro do xml.
Para cada linha da ListView eu tenho que criar um xml com os elementos de
cada linha.
Depois vamos expandir cada linha do ListView utilizando o inflater, vamos
inflar uma linha com os dados dessa xml que vamos criar agora.
Ou seja, para cada linha da ListView eu vou pegar um conjunto de dados a
apresentar nesta linha.
Então vamos criar um xml.
Clique na setinha em frente do res.

Agora vamos clicar na setinha em frente ao layout.

Precisamos criar um xml, então clique com o botão direito em cima de layout.

215
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em New.

Vamos selecionar XML.


Clique no local indicado!

Agora vamos selecionar Layout XML File.

216
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos utilizar o nome padrão que os Developers utilizam, colocaremos


item_listview.
Coloque o cursor na frente do layout.

Aperte backspace até apagar o layout.

No local indicado digite: item_listview.

Clique em Finish.

Observe que foi criado um xml.

217
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Neste xml vamos colocar as widgets dos dados que queremos que apareça
em cada linha da nossa ListView.

Coloque o cursor do mouse no local indicado.

Aperte enter duas vezes.

Vamos inserir os widgets que precisamos, são eles o ImageView e o Nome.


Digite:
<ImageView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/imgFoto"/> e aperte enter duas vezes.

Digite:
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" e aperte enter.

218
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Digite:
Android:id="@+id/txtNome"
Android:gravity="center"
Android:layout_gravity="center"
Android:layout_marginLeft="5dp"/> e aperte enter.

Agora precisamos criar um arquivo java para popular essas linhas.


Vamos criar uma nova classe java.
Clique em [Link] com o botão direito.
Clique em New.

Selecione Java Class.

219
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos colocar o nome de ItemListView.

Digite no local indicado: ItemListView.

Aperte enter.

Pronto criamos nossa [Link], agora vamos configurá-la.


Mas o que temos que declarar dentro dela?
Será bem simples temos que declarar uma classe modelo do nosso objeto
que contém um ImageView e um TextView.
Para reconhecer as imagens vamos criar um atributo numérico.
Bem vamos continuar, coloque o cursor do mouse no local indicado.

220
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Aperte duas vezes o enter.


No local indicado digite: private int Image; e aperte enter.

No local indicado digite: private String Nome; e aperte enter.

Agora precisamos criar o construtor e gets e seters dele, para isso podemos
criar automaticamente.
Aperte enter mais uma vez!
Clique com o botão direito no local indicado.

Clique em Generete.

Clique em construtor.

221
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Selecione os dois itens indicados.

Clique em ok!.

Os construtores são os responsáveis por criar o objeto em memória, ou seja,


instanciar a classe que foi definida.
Agora precisamos definir os métodos geters e seters.
O get é usado para obter uma informação, ele é um método que sempre
retornará um valor.
O Set é usado para definir valores, ele geralmente não retorna valores.
Get e set são métodos que servem para pegarmos uma informação de uma
variável da classe private.
Bom vamos continuar, clique com o botão direito no local indicado.
Agora clique em generete.

222
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Getter and Setter.

Selecione os dois itens indicados.

Clique em ok!

Vamos criar mais uma classe java, clique com o botão direito sobre o
[Link].

223
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em New.

Agora clique em JavaClass.

Vamos nomeá-la como Adapter.


Digite Adapter no local indicado!

Aperte Enter!

224
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O adapter converte a interface de uma classe em outra interface diferente,


possibilitando o trabalho de classe diferente em prol do mesmo objetivo.

Para que o adapter funcione ele precisa estender, herdar de uma classe
chamada BaseAdapter.
Coloque o cursor do mouse no local indicado.

No local indicado digite: extends BaseAdapter.

Agora vamos criar nossos objetos e o primeiro é o responsável em inflar os


dados.

No local indicado digite: private LayoutInflater mInflater; no local indicado e


aperte enter.

225
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O inflater é responsável pela criação de cada linha.

Agora precisamos da criação de um ArrayList

Para que a estrutura de dados possa ser tratada o Java® possuiu uma série
de recursos prontos chamados de APIs que podemos chamá-los de coleções.
O ArrayList é considerado uma classe genérica (generic classes) para a
criação de coleções de qualquer tipo de dados.

226
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Desta forma podemos criar os objetos através de uma classe e assim os


agrupar através de um ArrayList.
Com isso podemos realizar várias operações tais como, adicionar ou retirar
itens ou elementos, ordená-los por cronologia, alfabética etc.
No local indicado digite: private ArrayList<ItemListView> Itens; e aperte
duas vezes enter.

No local indicado digite:


public Adapter(Context context, ArrayList<ItemListView> Itens) {
[Link] = Itens;
mInflater = [Link](context);} e aperte enter duas vezes.

No local indicado digite:


public int getCount() {
return [Link]();

227
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

} e aperte enter duas vezes.

No local indicado digite:


public ItemListView getItem(int position) {
return [Link](position);
} e aperte enter duas vezes.

No local indicado digite: public View getView(int position, View view,


ViewGroup parent) { e aperte enter.

Digite: ItemListView item = [Link](position); e aperte enter.

228
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: view = [Link]([Link].item_listview, null); e


aperte enter.

No local indicado digite: ((TextView)


[Link]([Link])).setText([Link]()); e aperte enter.

No local indicado digite: ((ImageView)


[Link]([Link])).setImageResource([Link]()); e aperte
duas vezes o enter.

229
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: return view; e aperte enter.

Agora vamos inserir nossas fotos no drawable, acompanhe o vídeo com o


passo a passo para inserção das fotos.
Agora vamos codificar nossa MainActivity.
Clique no local indicado!

No local indicado digite: private ListView lsvContatos; e aperte enter.

230
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


lsvContatos = (ListView) findViewById([Link]); e aperte enter
duas vezes.

No local indicado digite: private Adapter adapter; e aperte enter.

No local indicado digite: criarLista(); e aperte enter.

231
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos criar um método para criar a nossa Lista.


No local indicado digite:
private ArrayList<ItemListView> Itens; e aperte enter.

Agora digite no local indicado: Itens = new ArrayList<ItemListView>(); e


aperte enter duas vezes.

Precisamos popular nossa lista, para isso vamos criar vários ItemListView.
No local indicado digite:
ItemListView Item0 = new ItemListView([Link].img1, "Banana"); e
aperte enter.

232
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Iremos realizar esta ação para todos os outros ítens que temos, teremos que
refazer mais quatro vezes este procedimento.
Digite no local indicado:
ItemListView Item1 = new ItemListView([Link].img2, "Laranja"); e
aperte enter.

No local indicado digite:


ItemListView Item2 = new ItemListView([Link].img3, "Melancia"); e
aperte enter.

Digite no local indicado:


ItemListView Item3 = new ItemListView([Link].img4, "Morango"); e
aperte enter.

233
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Digite no local indicado:


ItemListView Item4 = new ItemListView([Link].img5, "Uva"); e
aperte duas vezes o enter.

Agora vamos popular nossa lista com estes itens criados.


Digite no local indicado:
[Link](Item0); e aperte enter.

Digite no local indicado: [Link](Item1); e aperte enter.

Para agilizar nosso projeto inserir todos os itens, agora vamos criar nosso
adapterListView.

234
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Digite no local indicado: adapter = new Adapter(this, Itens); e aperte enter.

Digiteno local indicado: [Link](adapter); e aperte enter.

Digite no local indicado:


[Link]([Link]); e aperte enter.

235
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora precisamos que, ao clicar em nossos itens apareçam suas


informações, para isto vamos criar um evento Click para eles.
Digite no local indicado:
[Link](this); e aperte enter.

Digite no local indicado:


public void onItemClick(AdapterView<?> arg0 , View arg1, int arg2, long
arg3){ e aperte enter.

Agora digite no local indicado: ItemListView item = [Link](arg2);


e aperte duas vezes enter.

Agora vamos inserir uma mensagem com a informação que desejamos que
apareça.
Digite no local indicado: [Link](this, "Contato Selecionado: " +
[Link](), Tast.LENGTH_LONG).show(); e aperte enter duas vezes.

236
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Foi necessário incluir um implement


[Link] devido a
atualizações do AS.
Lembre-se que o AS sofre atualizações
praticamente todos os dias devido à velocidade
de criação de novas tecnologias.
Então é muito importante ressaltar que o
AS deverá sempre manter-se atualizado.
Vamos rodar nosso projeto.
Veja o vídeo!
Nosso projeto rodou perfeitamente.
Esta aula terminou por aqui e na próxima
aula vamos trabalhar com Banco de Dados.
O Banco de Dados é muito importante
dependendo dos aplicativos desenvolvidos.

Extras
ListView:
O widget (ou container) ListView é muito popular em apps
Android, sua finalidade é de armazenar uma ampla quantidade
de informações (Dados) podendo esses dados podem ser
atualizados, recebidos e enviados dinamicamente.

O BaseAdapter é um componente complementar de um


ListViewutilizado para personalizar por completo o layout de
itens de nossa lista.

Desafio 05
O jogo pedra, papel e tesoura, também chamado em algumas regiões do
Brasil de jokempô (do japonês じゃんけんぽん, jankenpon) é um jogo de mãos

237
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

recreativo e simples para duas ou mais


pessoas, que não requer equipamentos nem
habilidade.
O jogo é frequentemente empregado
como método de seleção (como na escolha
de equipes para a prática desportiva), assim
como lançar moedas, jogar dados, entre
outros.
No entanto, diferentemente desses
métodos que se baseiam exclusivamente em sorte, pedra-papel-tesoura pode ser
jogado com um pouco de habilidade. Principalmente se o jogo se estender por vários
turnos com o mesmo jogador, este pode reconhecer e explorar a lógica do
comportamento do adversário (perceber e anteceder as jogadas do adversário).
Regras:
✔ Tesoura ganha de papel;
✔ Papel ganha de pedra;
✔ Pedra ganha de tesoura;
✔ Iguais empate.
Crie um aplicativo onde o usuário possa jogar com o computador o jogo pedra,
papel e tesoura utilizando apenas uma activity.
Você deverá seguir a imagem como apoio.
A activity deverá conter um TextView inicial com o nome do jogo.
Uma TextView com a frase Escolha do
Computador.
Um ImageView que mostre a escolha do
Computador.
Uma TexView com o resultado de quem
venceu.
E três ImageView, uma com pedra, uma com
papel e uma com tesoura, onde o usuário pode clicar
e selecionar uma das opções para disputar com o
computador.

238
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

EXERCÍCIOS
1. Qual a função do Divider?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
2. Onde será mostrada uma informação?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
3. Para expandir cada linha do ListView utilizamos?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
4. O que podemos declarar dento da [Link]?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
5. Pelo que os construtores são responsáveis?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

239
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

ANOTAÇÕES

_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

240
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 12

Projeto BDAgenda SQLite – Conexão com Banco


de Dados SQLite. I
O SQLite é um banco de dados relacional open-source e fornece suporte para
comandos SQL.
O SQLite é um banco de dados simples e poderoso, formatado para ser
executado na plataforma móvel.
O SQLite é um banco de dados interno do AS
Podemos criar quantos bancos de dados desejarmos em nossos aplicativos,
os dados ficarão armazenados no sistema.
Vale ressaltar que quando criamos um banco de dados no SQLite somente
pode ser visualizado pela aplicação que o criou.
Clique em Create New Project.

Selecione Empty Activity.

241
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Next.

Vamos nomeá-lo como Projeto BDAgenda SQLite.

Digite Projeto BDAgenda SQLite no local indicado.

Clique em Finish.

Vamos começar trabalhando em nosso activity_main.


Clique em Code.

Vamos apagar [Link].


Coloque o cursor do mouse no local indicado.

242
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos selecionar o
[Link].

Clique como o botão do mouse do lado esquerdo e o mantenha pressionado


e arraste até o local indicado.

Aperte Backspace para apagar.

Digite: LinearLayout no local indicado.

Precisamos colocar uma orientação e uma margem para que as informações


fiquem mais organizadas.

243
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Coloque o cursor do mouse no local indicado.

Aperte enter.

Digite no local indicado: Android:orientation="vertical“ e aperte enter.

Digite no local indicado: Android:layout_margin="10dp“ e aperte enter.

244
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Para melhorar nosso layout vamos inerir uma cor de fundo.


Veja o vídeo como é feita a inserção de novas cores.
Clique no local indicado para iniciar o vídeo.
Digite no local indicado: Android:background="@color/silver".

Veja ainda está aparecendo os comandos do Hello World, não vamos utilizá-
lo então podemos apagá-lo.

Selecione o local indicado.

Aperte backspace para apagar.

Vamos trabalhar com duas activitys.


Na principal iremos criar uma tela de apresentação com um botão entrar que
direcionará para a próxima activity.

245
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Nesta activity principal vamos inserir uma imagem, lembra-se como faz?
Não se preocupe vamos ao vídeo mostrando todo o procedimento para inserir
uma imagem.
Podemos observar na imagem ao lado, que foi criada
em drawable.
Para inserir a imagem no nosso design vamos criar um
LinearLayout dentro de outro LinearLayot.
No local indicado digite:
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
</LinearLayout> e aperte enter.

Coloque o cursor do mouse no local indicado e aperte enter duas vezes.

Agora no local indicado digite: Android:layout_marginTop="10dp“ e aperte


enter.

Aperte enter duas vezes.

246
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


<ImageView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="@drawable/contatos1"/>
e aperte enter.

Vamos novamente inserir outro Linear Layout.

No local indicado digite:


<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:gravity="center"
Android:layout_marginTop="10dp">
</LinearLayout>
e aperte enter

247
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Coloque o cursor do mouse no local indicado.

No local indicado digite:


<Button
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center“
e aperte enter.

No local indicado digite:


Android:text="ENTRAR"
Android:textColor="@color/white"
Android:backgroundTint="@color/blue“
e aperte enter.

248
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


Android:textSize="40sp"
Android:textStyle="bold"
Android:id="@+id/btnEntrar"/>
e aperte enter.

Vamos criar mais uma activity, para isso clique no local indicado com o botão
direito.

Clique em New.

249
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em Activity.

Selecione Empty Activity.

No local indicado digite: InserirContatos.

Clique em Finish.

Podemos observar que foi criada a activity_inserir_contatos.xml e a


[Link].

250
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Para manter organizada a criação de nosso projeto, vamos criar três


packages.
Iremos nomeá-las da seguinte maneira:
Uma como BD, uma como controle e uma como modelo.
Vamos ao vídeo mostrando a criação dos packages.
Agora dentro de cada package vamos inserir uma classe java ou javaclass.

Clique na package BD com o botão direito.

Clique em New.

Selecione Java Class.

251
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora precisamos nomeá-lo, para isto também utilizaremos o nome padrão


que os developers utilizam.
No local indicado digite: DBHelper e aperte enter.

Veja, dentro da package BD foi criada uma Java Class DBHelper.

Agora vamos clicar com o botão direito na package controle, vamos criar uma
java class dentro desta package também.

Clique em New.

252
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Selecione Java Class.

Vamos nomeá-lo, para isto também utilizaremos o nome padrão que os


developers utilizam.
No local indicado digite: ContatoDAO.

Aperte Enter.

Vamos fazer o mesmo procedimento para a package modelo.


Clique com o botão direito sobre a package modelo.

253
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em New.

Selecione Java Class.

Vamos colocar o nome de Contato.


No local indicado digite: Contato e aperte enter.

Vamos começar trabalhando em nosso activity_main.


Criamos toda a estrutura, agora vamos começar a trabalhar nela.
Na próxima aula, vamos trabalhar em nossa activity_inserir_contatos.

254
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

EXERCÍCIOS
1. O que é o SQLite?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
2. Como podemos inserir uma nova package?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
3. Qual função do DBHelper?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
4. Qual função do ContatoDAO?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
5. Qual função do Package?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

255
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

ANOTAÇÕES
_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

256
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 13
Projeto BDAgenda SQLite – Conexão com Banco
de Dados SQLite. II
Vamos continuar a desenvolver nosso design da activity_inserir_contatos.
Clique no local indicado.

Coloque o cursor do mouse no local indicado.

Vamos selecionar o
[Link].

Clique como o botão do mouse do lado esquerdo e o mantenha pressionado


e arraste até o local indicado.

Aperte Backspace.

257
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite: LinearLayout.

Coloque o cursor do mouse no local indicado e aperte enter.

No local indicado digite:


Android:orientation="vertical"
Android:background="@color/silver"
Android:layout_margin="10dp" .

No local indicado digite:


<TextView

258
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Nome: "
Android:textColor="@color/black“ e aperte enter .

No local indicado digite:


Android:textSize="20dp"
Android:textStyle="bold"
Android:layout_marginLeft="5dp"
Android:layout_marginTop="10dp"/>
e aperte enter duas vezes.

Digite no local indicado:


<EditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:id="@+id/edtNome"
e aperte enter.

259
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


Android:background="@drawable/botao_edttext"
Android:hint="Didite aqui seu Nome: "
Android:maxLength="50"
Android:textColorHint="@color/Blue“
e aperte enter.

Digite no local indicado:


Android:textSize="20dp"
Android:layout_marginTop="5dp"
Android:layout_marginLeft="5dp"
e aperte enter.

No local indicado digite:


Android:layout_marginRight="5dp"
Android:inputType="text"/>

260
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

e aperte enter.

No local indicado digite:


<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="E-mail “ e aperte enter.

No local indicado digite:


Android:textColor="@color/black"
Android:textSize="20dp"
Android:textStyle="bold“ e aperte enter.

No local indicado digite:


Android:layout_marginLeft="5dp"
Android:layout_marginTop="10dp"/>
e aperte duas vezes o enter.

261
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


<EditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:id="@+id/edtEmail“ e aperte enter.

No local indicado digite:


Android:background="@drawable/botao_edttext"
Android:hint="Didite aqui seu E-mail: "
Android:textColorHint="@color/Blue"
Android:textSize="20dp“ e aperte enter.

No local indicado digite:


Android:layout_marginTop="5dp"
Android:layout_marginLeft="5dp"
Android:layout_marginRight="5dp"
Android:inputType="text"/> e aperte enter ducas vezes.

262
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="CPF: “ e aperte enter.

No local indicado digite:


Android:textColor="@color/black"
Android:textSize="20dp"
Android:textStyle="bold“ e aperte enter.

No local indicado digite:


Android:layout_marginLeft="5dp"
Android:layout_marginTop="10dp"/>
e aperte enter duas vezes.

263
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


<EditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:id="@+id/edtCPF“
e aperte enter.

No local indicado digite:


Android:background="@drawable/botao_edttext"
Android:hint="Didite aqui seu CPF: "
Android:digits="1234567890.-“
e aperte enter.

No local indicado digite


Android:maxLength="14"
Android:textColorHint="@color/Blue"
Android:textSize="20dp"
Android:layout_marginTop="5dp“
e aperte enter:

264
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite


Android:layout_marginLeft="5dp"
Android:layout_marginRight="5dp"
Android:inputType="number"/> e aperte enter.

No local indicado digite:


<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Telefone: “ e aperte enter.

No local indicado digite:


Android:textColor="@color/black"
Android:textSize="20dp"

265
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Android:textStyle="bold“ e aperte enter.

No local indicado digite:


Android:layout_marginLeft="5dp"
Android:layout_marginTop="10dp"/> e aperte enter.

No local indicado digite:


<EditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:id="@+id/edtPhone“ e aperte enter.

No local indicado digite:


Android:background="@drawable/botao_edttext"
Android:hint="Didite aqui seu Telefone para Contato: "
Android:textSize="20dp“ e aperte enter.

266
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


Android:digits="1234567890.-()"
Android:maxLength="14"
Android:textColorHint="@color/Blue“ e aperte enter.

No local indicado digite:


Android:layout_marginTop="5dp"
Android:layout_marginLeft="5dp“ e aperte enter.

No local indicado digite:


Android:layout_marginRight="5dp"
Android:inputType="number"/>
e aperte duas vezes enter.

267
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="horizontal“ e aperte enter.

No local indicado digite:


Android:gravity="center"
Android:layout_marginTop="15dp">
E aperte duas vezes o enter.

No local indicado digite:


<Button
Android:layout_width="150dp"
Android:layout_height="50dp"
Android:layout_gravity="center“ e aperte enter.

268
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


Android:text="INSERIR"
Android:textColor="@color/white"
Android:backgroundTint="@color/Blue“
e aperte enter.

No local indicado digite:


Android:textSize="20sp"
Android:textStyle="bold"
Android:layout_marginLeft="5dp“ e aperte enter.

No local indicado digite:


Android:layout_marginRight="5dp"
Android:id="@+id/btnInserir"/>
e aperte duas vezes enter.

269
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


<Button
Android:layout_width="150dp"
Android:layout_height="50dp“ e aperte enter.

No local indicado digite:


Android:layout_gravity="center"
Android:text="Limpar"
Android:textColor="@color/white“ e aperte enter.

No local indicado digite:


Android:backgroundTint="@color/Blue"
Android:textSize="20sp"
Android:textStyle="bold“ e aperte enter.

270
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


Android:layout_marginRight="5dp"
Android:layout_marginLeft="5dp"
Android:id="@+id/btnLimpar"/> e aperte enter.

No local indicado digite:


<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_marginTop="10dp"
Android:orientation="vertical"> e aperte duas vezes o enter.

No local indicado digite:


<TextView

271
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:gravity="center“ e aperte enter.

No local indicado digite:


Android:textColor="@color/Blue"
Android:textSize="20sp“ e aperte enter.

No local indicado digite:


Android:textStyle="bold"
Android:text="Meus Contatos"/> e aperte enter duas vezes.

No local indicado digite:


<TextView
Android:layout_width="match_parent"
Android:layout_height="match_parent“ e aperte enter:

272
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


Android:id="@+id/txtContatos"
Android:layout_margin="5dp"
Android:background="@drawable/botao_edttext"/> e aperte duas vezes
o enter:

No local indicado digite:


</LinearLayout> e aperte duas vezes enter.

Até aqui trabalhamos apenas em nossos designs, vamos ver como ficou
nosso projeto em nosso emulador.
Clique no local indicado para rodar o emulador.

Para não ficar muito longa está aula vamos ficando por aqui, na próxima aula
prosseguiremos como nosso projeto.

273
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O segredo do sucesso no Desenvolvimento de Aplicativos para Android é a


prática em conjunto com os estudos. Diariamente refaça todos os passos até aqui
vistos.

EXERCÍCIOS
1. O que faz o comando Android:textStyle="bold"?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
2. O que faz o comando Android:background=" "?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
3. O que faz o match_parent?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
4. O que faz o wrap_content?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
5. O que faz o Android:textSize="20sp“?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

274
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

ANOTAÇÕES

_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

275
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

AULA 14

Projeto BDAgenda SQLite – Conexão com Banco


de Dados SQLite III
Bem-vindo de volta, está é nossa décima primeira e última aula.
Nesta aula vamos dar continuidade ao nosso projeto
BDAgenda
Vamos começar a configurar nossas Classes
javas.
Vamos começar pela nossa activity principal, a
MainActivity.
O que ela precisa fazer é quando clicarmos no botão
entrar seja aberto a
Activity InserirContatos.
Vamos passo a passo para melhor entendimento,
primeiramente vamos referenciar nosso Botão.
No local indicado digite:
Button btnEntrar; e aperte enter .

Agora precisamos linkar o btnEntrar da classe java com o btnEntrar da


javaClass.
No local indicado digite:

276
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

btnEntrar = (Button) findViewById([Link]); e aperte enter duas


vezes.

Digite no local indicado:


[Link](new [Link]() { e aperte
enter.

No local indicado digite:


@Override
public void onClick(View view) { e aperte enter.

No local indicado digite:


Intent intent = new Intent([Link], [Link]);
startActivity(intent);
}
});
}
e aperte enter.

277
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

O que fizemos nesta parte do código foi inserir o click em nosso botão Entrar
onde ao clicarmos nele ele irá direcionar para a classe inserircontatos.

Vamos ao vídeo emulando nosso projeto para verificarmos se está tudo


certinho e rodando até agora.
Clique no iniciar para que o vídeo comece.
Nosso projeto até aqui está saindo conforme planejamos e programamos,
vamos dar continuidade com a conexão com o Banco de Dados SQLite.
Vamos trabalhar nosso DBHelper, clique no local indicado.

O DBHelper vai estender por herança o SQLiteOpnHelper.


No local indicado digite:
extends SQLiteOpenHelper.

Podemos observar ainda que ele está apresentando erro, pelo fato de ser
uma classe abstrata temos que definir alguns métodos e cria-los.

278
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Há para lembrar, observe que foi importada automaticamente a biblioteca do


SQLite.

No local indicado digite:


private static final String DB_Name = “MinhaAgendaContatos”; e aperte
enter.

Acabamos de criar uma variável com o nome de nosso banco de dados, para
assim podermos cria-lo.

O private static final é usado quando queremos tornar um atributo


inalterável, mas que conseguimos modificar seu final a partir de uma edição.
Agora vamos criar a versão do nosso banco de dados, para que possamos
ter um controle de nosso banco de dados.
No local indicado digite: private static final int DB_Version = 1; e aperte
enter.

279
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Precisamos criar nossa tabela dos contatos para isso no local indicado digite:
public static final String tblContatos = "Contatos"; e aperte duas vezes
enter.

No local indicado digite:


public DBHelper (Context context){
super(context, DB_Name, null, DB_Version);
} e aperte duas vezes o enter.

Quando usamos a chamada do construtor superclasse ele realiza a chamada


do banco de dados verificando se o banco de dados existe.

Agora vamos criar o método OnCreate, que será utilizado para criar a tabela
Contatos.

280
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


@Override e aperte enter.
O @Override é usado para determinar que na classe derivada, um membro
virtual da classe base pode ser sobrescrito.
No local indicado digite:
public void onCreate(SQLiteDatabase db) {e aperte enter.

Digite no local indicado:


[Link]("create table " + tblContatos + "(ContatoId integer primary
key autoincrement, Nome text not null, Email text not null, Cpf text not null,
Telefone text not null)"); e aperte enter duas vezes.

O méodo OnCreate é utilizado para criar a tabela Contatos.


Vamos criar o método para controlar nossa versão da tabela do banco de
dados.
No local indicado digite:
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) { e aperte o enter.

O que fizemos nesta parte do código, pegamos o SQLiteDAtabase db,


pegando a versão velha e a nova versão.
No local indicado digite:
Log.w("Atualização BD", "Versão atual" + oldVersion + "Nova Versão: "
+ newVersion);

281
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

[Link]("drop table if exists " + tblContatos);


onCreate(db); } e aperte enter.

Para que possamos criar mensagens de registro no Logcat, podemos usar a


classe Log, podemos listar os registros efetuados em ordem decrescente de
prioridade.

Acabamos de configurar nossa classe DBHelper, agora vamos configurar


nossa classe Contato.
Clique no local indicado.

A classe Contato é o local onde criamos nossos modelos, para cada tabela
que criarmos.
No nosso caso nós criamos apenas a tabela contatos.
Vamos começar nossa configuração desta classe.

Vamos inserir nossos construtores getter and setter agora.


Como já fizemos este procedimento em outras aulas, vamos ver o vídeo com
a inserção dos comandos.
Clique em iniciar para iniciar o vídeo.

282
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No vídeo podemos observar que não foi incluído no construtor o ContatoID,


isso porque ele é autoincremento.
O autoincremento permite que seja gerado um único número para cada item
inserido na tabela.
Podemos usar como exemplo a inserção de produtos e um supermercado.
Vou inserir o primeiro item na tabela do supermercado ele seria 001 banana
nanica, o segundo 002 banana maça e assim por diante.
Agora vamos inserir nosso controler, o DAO que vai controlar nossas ações.
Clique no local indicado.

É neste java class que vamos inserir todo nosso controle e regras.
Vamos mostrar qual é o nosso banco de dados, para isto digite no local
indicado: private SQLiteDatabase db; e aperte enter .

Precisamos também referenciar nosso DBHelper, para isto digite no local


indicado: private DBHelper helper; e aperte duas vezes o enter.

283
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos à construção de nosso construtor.

Digite no local indicado:


public ContatoDAO(Context context){
helper = new DBHelper(context);
} e aperte duas vezes o enter.

No local indicado digite:


public void Abrir(){
db = [Link]();
} e aperte enter duas vezes.

Agora vamos criar um método para abrir o banco de dados.

284
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Como criamos um método para abrir temos que criar um método para fechar.
No local indicado digite:
public void Fechar(){
[Link]();
} e aperte enter duas vezes.

Bom agora vamos criar um método para inserir os dados em nosso banco.
No local indicado digite:
public long Inserir(Contato contato){ e aperte enter.

No local indicado digite:


ContentValues dados = new ContentValues(); e aperte enter.

No local indicado digite:


[Link]("Nome", [Link]()); e apaerte enter.

285
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


[Link]("Email", [Link]());.

No local indicado digite:


[Link]("Cpf", [Link]()); e aperte enter.

No local indicado digite:


[Link]("Telefone", [Link]()); e aperte enter duas vezes.

No local indicado digite:


return [Link]([Link], null, dados);
} e aperte duas vezes o enter.

286
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Como estamos controlando todo nosso fluxo de controles então precisamos


listá-los também, para isso vamos criar uma Lista de Contatos.
No local indicado digite:
public List<Contato> ListaContatos(){ e aperte enter duas vezes.

Agora vamos criar a nossa lista de nossa classe, digite no local indicado:
List<Contato> lista = new ArrayList<Contato>(); e aperte enter duas
vezes.

Precisamos agora criar uma String com os campos que utilizamos.


No local indicado digite:
String[] campos = new String[]{"Nome", "Email", "Cpf", "Telefone"}; e
aperte enter duas vezes.

Agora precisamos criar um Cursor ele tem a função de receber o retorno de


uma select.
O cursor tem a função de receber os resultados de uma consulta feita no
banco de Dados, sua API permite a leitura das colunas com os resultados da
consulta e refazer as linhas com os resultados.
No local indicado digite:
Cursor cursor = [Link]([Link], campos,
null, null, null,
null, "Nome"); e aperte duas vezes o enter.

287
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


[Link](); e aperte duas vezes enter.

O método MoveToFirst permite que seja realizado um teste se a consulta


retornou um conjunto vazio ou não, ele tem a função de mover o cursor para a
primeira linha.
No local indicado digite:
while (![Link]())x{
Contato contato = new Contato( e aperte enter.

No local indicado digite:


[Link](0),
[Link](1),
[Link](2),
[Link](3)); e aperte enter duas vezes.

Agora precisamos adicionar estes dados em nossa lista e nosso cursor


precisa mover para o próximo.

288
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


[Link](contato);
[Link]();
} e aperte enter.

Agora vamos fechar nosso cursor.


No local indicado digite: [Link](); e aperte enter duas vezes.

No local indicado digite:


return lista; } } e aperte enter.

289
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Clique em [Link].

Vamos começar criando nossos objetos.


Digite no local indicado: EditText edtNome, edtEmail, edtCPF, edtPhone; e
aperte duas vezes o enter.

Agora precisamos também cadastrar nossos botões.


No local indicado digite:
Button btnInserir, btnLimpar; e aperte enter duas vezes.

No local indicado digite: TextView txtContatos; e aperte enter.

290
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Vamos precisar de um objeto DAO.


No local indicado digite:
ContatoDAO contatoDAO; e aperte duas vezes o enter.

Agora precisamos criar nossos widgets relacionados.


Vamos começar criando nosso botão salvar, para diferenciar um pouco dos
outros.
Vamos instanciar nossos botões, no local indicado digite:
btnSalvar = (Button) findViewById([Link]); e aperte enter.

No local indicado digite:


btnLimpar = (Button) findViewById([Link]); e aperte enter duas
vezes.

291
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


CarregaDados(); e aperte enter.

Observe que ele está apresentando erro, isto porque precisamos criar seu
método, mas para que sigamos uma sequência bem-organizada já o instanciamos.

Agora vamos criar nossos dois eventos, começando pelo btnLimpar e depois
o btnInserir.
No local indicado digite:
[Link](LimparCampos()); e aperte enter.

292
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


[Link](Salvar()); e aperte enter.

Agora coloque o cursor no local indicado.

No local indicado digite:


private void CarregaDados(){ e aperte enter.

No local indicado digite:


contatoDAO = new ContatoDAO([Link]); e aperte enter duas
vezes.

No local indicado digite: [Link](); e aperte enter duas vezes.

293
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


ListarTodos(contatoDAO); e aperte enter duas vezes.

No local indicado digite:


[Link]();
}
e aperte enter duas vezes.

No local indicado digite:


private [Link] LimparCampos(){ e aperte enter duas vezes.

No local indicado digite:


return new [Link](){ e aperte enter duas vezes.

No local indicado digite:

294
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

@Override e aperte enter.

No local indicado digite:


public void onClick(View view){ e aperte enter.

No local indicado digite:


[Link]("");
[Link] (""); e aperte enter.

No local indicado digite:


[Link]("");
[Link](""); } }; }
e aperte enter duas vezes.

Precisamos agora inserir o OnClickListener do Inserir.


No local indicado digite:
private [Link] Inserir(){
return new [Link]() { e aperte enter.

295
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


@Override
public void onClick(View view) { e aperte enter.

No local indicado digite:


edtNome = (EditText) findViewById([Link]);
edtEmail = (EditText) findViewById([Link]); e aperte enter.

No local indicado digite:


edtCPF = (EditText) findViewById([Link]);
edtPhone = (EditText) findViewById([Link]); e aperte enter.

No local indicado digite:


Contato contato = new Contato( e aperte enter.

296
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


[Link]().toString(),
[Link]().toString(), e aperte enter.

No local indicado digite:


[Link]().toString(),
[Link]().toString()); e aperte enter duas vezes.

No local indicado digite:


contatoDAO = new ContatoDAO([Link]); e aperte duas
vezes o enter.

Bom agora vamos abrir nossa tabela.


No local indicado digite: [Link](); e aperte enter duas vezes.

297
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Agora vamos utilizar um if para fazer verificação do nosso contatoDAO se


ele está vazio ou não.
No local indicado digite:
if ([Link](contato)> 0) e aperte enter duas vezes.

No local indicado digite:


ListarTodos(contatoDAO);} e aperte enter.

No local indicado digite:


} else { e aperte enter.

No local indicado digite:


[Link]([Link],
"Erro ao inserir contato",
Toast.LENGTH_LONG).show(); } e aperte duas vezes o enter.

298
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


LimparCampos(); e aperte duas vezes o enter.

No local indicado digite:


[Link](); } }; } e aperte duas vezes o enter.

No local indicado digite:


public void ListarTodos(ContatoDAO contatoDAO){
List<Contato> lista = [Link](); e aperte enter duas
vezes.

No local indicado digite:


txtContatos = (TextView) findViewById([Link]); e aperte enter
duas vezes.

299
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

No local indicado digite:


[Link](""); e aperte duas vezes o enter.

No local indicado digite:


for(Contato c : lista){ e aperte enter.

No local indicado digite:


[Link]([Link]().toString() + [Link]() + " |
" +[Link]() + " | " + [Link]() + " | " + [Link]() + "\n"); } };
}
e aperte enter.

Vamos rodar nosso emulador para verificarmos como ficou nosso projeto.
Clique em Iniciar para começar o vídeo.
Terminamos nosso projeto, aprendemos o necessário para darmos nossos
primeiros passos como desenvolvedor de aplicativos Android.

300
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

EXERCÍCIOS
1. Qual função é realizada no código apresentado na imagem abaixo?

__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
2. Para criarmos uma variável com o nome e de nosso banco de dados?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
3. Para que serve o pivate Static final?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
4. Para que serve o @Override?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
5. Para que serve o Cursor?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Procure sempre estar atento a mudanças no Android Studio assim como as
tecnologias estão sempre em constante evolução.
Pratique diariamente e estude sempre, só depende de você para ser o melhor
profissional.

301
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

ANOTAÇÕES

_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

302
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

RESPOSTAS DOS DESAFIOS

Desafio 01
A resposta do desafio 1 encontra-se na Aula 06 como parte do aplicativo
desenvolvido.

Desafio 02
layout
activity_Main

<?xml version="1.0" encoding="utf-8"?>


<[Link]
xmlns:Android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context=".MainActivity">

<ImageView
Android:id="@+id/imageView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="92dp"
Android:background="@drawable/sorteio"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
Android:id="@+id/ImgEntrar"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="99dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView"
app:srcCompat="@drawable/star"
Android:clickable="true" />

</[Link]>
activity_jogaractivity

<?xml version="1.0" encoding="utf-8"?>

303
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

<[Link]
xmlns:Android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context=".jogaractivity">

<ImageView
Android:id="@+id/imageView2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="52dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/numero" />

<Button
Android:id="@+id/btnJogar"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="87dp"
Android:onClick="sortear"
Android:text="JOGAR"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView2" />

<TextView
Android:id="@+id/txtResult"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="76dp"
Android:text="Nenhum numero selecionado"
Android:textColor="@color/black"
Android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.496"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnJogar" />

</[Link]>
[Link]
jogaractivity

304
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

package [Link];

import [Link];

import [Link];
import [Link];
import [Link];

import [Link];

public class jogaractivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_jogaractivity);
}

public void sortear(View view){

TextView texto = findViewById([Link]);

int numero = new Random().nextInt(11);

[Link]( "Número: " + número );

}
}
mainactivity
package [Link];

import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

305
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

public class MainActivity extends AppCompatActivity {

ImageView ImgEntrar;

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);

ImgEntrar = (ImageView) findViewById([Link]);

[Link](new [Link]() {

@Override
public void onClick(View view) {

Intent intent = new Intent([Link], [Link]);


startActivity(intent);
}
});
}
}
Desafio 03
layout
activity_main

<?xml version="1.0" encoding="utf-8"?>


<[Link]
xmlns:Android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context=".MainActivity">

<ImageView
Android:id="@+id/imageView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="32dp"

306
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.44"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/salmos" />

<Button
Android:id="@+id/btnSalmo"
Android:layout_width="100dp"
Android:layout_height="wrap_content"
Android:layout_marginStart="32dp"
Android:layout_marginTop="8dp"
Android:layout_marginEnd="32dp"
Android:background="@drawable/btn_customizado"
Android:onClick="gerarSalmo"
Android:text="Salmo"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.465"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" />

<TextView
Android:id="@+id/txtFrases"
Android:layout_width="0dp"
Android:layout_height="wrap_content"
Android:layout_marginStart="32dp"
Android:layout_marginTop="200dp"
Android:layout_marginEnd="32dp"
Android:layout_marginBottom="323dp"
Android:gravity="center"
Android:text="Pressione o botão para gerar um novo salmo!"
Android:textAppearance="@style/[Link].Body2"
Android:textColor="@color/black"
Android:textSize="20sp"
Android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnSalmo" />
</[Link]>
mainactivityjava
package [Link];

import [Link];

import [Link];
import [Link];
import [Link];
import [Link];

307
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

import [Link];

public class MainActivity extends AppCompatActivity {

Button btnSalmo;
TextView txtFrases;

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);

public void gerarSalmo(View view){

String[] salmo = {

"Não andem ansiosos por coisa alguma, mas em tudo, pela oração e
súplicas, e com ação de graças, apresentem seus pedidos a Deus. Sente a paz de Deus,
que excede todo o entendimento, guardará o coração e a mente de vocês em Cristo Jesus.",
"Lancem sobre ele toda a sua ansiedade, porque ele tem cuidado de
vocês.",
"Deus é o nosso refúgio e a nossa fortaleza,\n" +
"auxílio sempre presente na adversidade.",
"Como é precioso o teu amor, ó Deus!\n" +
"Os homens encontram\n" +
"refúgio à sombra das tuas asas.",
"\"Tu és o meu refúgio e a minha fortaleza,\n" +
"ao meu Deus, em quem confio\"."
};

int numero = new Random().nextInt(5); // 0 1 2 3 4

TextView texto = findViewById([Link]);


[Link]( salmo [número] );
}
}

Desafio 04

308
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

layout
activity_main
<?xml version="1.0" encoding="utf-8"?>
<[Link]
xmlns:Android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="#8EB4DE"
tools:context=".MainActivity">

<ImageView
Android:id="@+id/imageView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginStart="24dp"
Android:layout_marginTop="32dp"
Android:layout_marginEnd="24dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/cara" />

<Button
Android:id="@+id/btnJogar"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginStart="16dp"
Android:layout_marginTop="32dp"
Android:layout_marginEnd="16dp"
Android:background="@drawable/edicao_customizado"
Android:text="JOGAR"
Android:textSize="40sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" />
</[Link]>
activity_resultado

<?xml version="1.0" encoding="utf-8"?>


<[Link]
xmlns:Android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
Android:layout_width="match_parent"
Android:layout_height="match_parent"

309
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

tools:context=".ResultadoActivity">

<ImageView
Android:id="@+id/imgResultado"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginStart="24dp"
Android:layout_marginTop="32dp"
Android:layout_marginEnd="24dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/caram" />

<Button
Android:id="@+id/btnVoltar"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="40dp"
Android:text="Voltar"
Android:textSize="40sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imgResultado"
Android:background="@drawable/edicao_customizado"/>

</[Link]>
MainActivity

package [Link];

import [Link];

import [Link];
import [Link];
import [Link];
import [Link];

import [Link];

public class MainActivity extends AppCompatActivity {

310
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

private Button btnJogar;

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);

btnJogar = findViewById([Link]);

[Link](new [Link]() {
@Override
public void onClick(View v) {

Intent intent = new Intent(getApplicationContext(),


[Link]);

//passar dados para a próxima tela

int numero = new Random().nextInt(2); // 0 1

[Link]("numero", numero);

startActivity(intent);

}
});
}
}
ResultadoActivity

package [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

311
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

public class ResultadoActivity extends AppCompatActivity {

private ImageView imgResultado;


private Button btnVoltar;

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_resultado);

imgResultado = (ImageView) findViewById([Link]);


btnVoltar = (Button) findViewById([Link]);

// recuperar dados
Bundle dados = getIntent().getExtras();

int número = [Link]("numero");

//verificação para exibição de cara ou coroa

if (número == 0 ){ //cara
[Link]([Link]);
}else{//coroa
[Link]([Link]);
}

[Link](new [Link]() {
@Override
public void onClick(View v) {

finish();
}
});

}
}

Desafio 05

312
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

layout

activity_main

<?xml version="1.0" encoding="utf-8"?>


<[Link]
xmlns:Android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@color/roxo"
tools:context=".MainActivity">

<TextView
Android:id="@+id/textView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="32dp"
Android:text="Jogo Pedra, Papel e Tesoura"
Android:textColor="@color/black"
Android:textSize="20sp"
Android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
Android:id="@+id/textView2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="32dp"
Android:text="Escolha do Computador"
Android:textColor="@color/white"
Android:textSize="20sp"
Android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />

<ImageView
Android:id="@+id/txtPc"
Android:layout_width="150dp"
Android:layout_height="150dp"
Android:layout_marginStart="16dp"

313
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

Android:layout_marginTop="32dp"
Android:layout_marginEnd="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2"
app:srcCompat="@Android:drawable/screen_background_light" />

<TextView
Android:id="@+id/txtResultado"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="32dp"
Android:text="Escolha uma opção abaixo"
Android:textColor="@color/white"
Android:textSize="20sp"
Android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtPc" />

<ImageView
Android:id="@+id/btnPedra"
Android:layout_width="50dp"
Android:layout_height="50dp"
Android:layout_marginTop="32dp"
Android:onClick="selectPedra"
app:layout_constraintEnd_toStartOf="@+id/btnPapel"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtResultado"
app:srcCompat="@drawable/pedra"
/>

<ImageView
Android:id="@+id/btnPapel"
Android:layout_width="50dp"
Android:layout_height="50dp"
Android:layout_marginTop="32dp"
Android:onClick="selectPapel"
app:layout_constraintEnd_toStartOf="@+id/btnTesoura"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/btnPedra"
app:layout_constraintTop_toBottomOf="@+id/txtResultado"
app:srcCompat="@drawable/papel"
/>

314
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

<ImageView
Android:id="@+id/btnTesoura"
Android:layout_width="50dp"
Android:layout_height="50dp"
Android:layout_marginTop="32dp"
Android:onClick="selectTesoura"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/btnPapel"
app:layout_constraintTop_toBottomOf="@+id/txtResultado"
app:srcCompat="@drawable/tesoura"
/>

</[Link]>
[Link]

package [Link];

import [Link];

import [Link];
import [Link];
import [Link];
import [Link];

import [Link];

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
}

public void selectPedra(View view){

[Link]("Pedra");

315
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

public void selectPapel(View view){

[Link]("Papel");

public void selectTesoura(View view){

[Link]("Tesoura");

316
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID

REFERÊNCIAS
Fonte: [Link]
sistema-operacional-de-85-dos-
brasileiros/#:~:text=Os%20dados%20contrastam%20com%20os,4%2C9%25%20d
o%20iOS.
Fonte: [Link]
digitais-uso-revela-31a-pesquisa-anual-fgvcia

317

Você também pode gostar