Android
Android
AUTOR
Equipe de Desenvolvimento Gillis Interactive
EDIÇÃO TÉCNICA
Coordenação de Desenvolvimento Gillis Interactive
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
AULA 03 .........................................................................................................................................35
AULA 04 .........................................................................................................................................56
AULA 05 .........................................................................................................................................79
AULA 06 .........................................................................................................................................93
2
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
AULA 07 .......................................................................................................................................108
AULA 08 .......................................................................................................................................131
AULA 09 .......................................................................................................................................153
AULA 10 .......................................................................................................................................188
AULA 11 .......................................................................................................................................209
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
ANDROID 10 2019
ANDROID 11 2020
6
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
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
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
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
11
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
12
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
13
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
14
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Aguarde a instalação.
15
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
16
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Aguarde até que seja feito o download, você pode acompanhar através
do ícone que aparece do lado esquerdo em baixo na tela.
17
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Install.
18
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Finish.
19
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Next!
20
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Next.
21
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
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
24
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
Clique em OK.
26
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Finish.
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.
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.
29
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Finish.
30
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Selecione Settings.
31
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
32
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
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
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!
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
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.
40
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
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
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
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.
45
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
46
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
47
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
48
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Next.
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 Finish.
50
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
51
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
52
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
56
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
58
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Next!
59
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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:.
Clique em Finish!
61
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
63
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
64
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Primeiro nós temos o colors. Clique sobre ele com um duplo clique.
65
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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>.
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.
67
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
68
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Elas foram vistas na aula anterior, vamos utilizar a code, que nos apresenta
a codificação.
69
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em file.
Agora vamos em size, observe que nele está marcando 14, vamos alterar
para 18.
70
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
71
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Dentro desta abertura ele mostra nosso gerenciador de Layout, onde traz por
default o constraintlayout.
72
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
73
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Observe que o layout já mudou, o Hello Word agora está posicionado no canto
esquerdo superior.
74
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
75
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
E as linhas Android:layout_width="wrap_content“ e
Android:layout_height="wrap_content“.
79
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
81
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Observe que está aparecendo uma linha logo abaixo do nome do aluno
82
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Veja, ele ficou pequeno, o tamanho dele irá aumentar conforme a informação
for sendo inserida dentro dele.
83
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
84
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
85
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
86
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
87
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
88
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
89
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
90
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
93
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
94
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Feche o emulador.
Agora clique na seta em frente ao values.
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
96
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Vamos colocar um nome para o seu arquivo XML, aqui no exemplo colocamos
botao_customizado.
97
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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=”__”.
98
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Veja nossos botões agora estão grudados, vamos corrigir este problema.
99
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
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 />.
101
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
102
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
103
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
}
}
A primeira linha foi “int Faltas;”.
104
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Desafio 02
105
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
108
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
110
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
111
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
Passe o mouse sobre New para abrir uma nova janela de seleção.
112
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
114
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
xmlns:Android=[Link] e aperte
enter.
115
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
116
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
117
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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"
119
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Aperte delete!
120
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
121
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
122
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
123
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
124
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
125
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
126
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
128
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
129
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
131
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
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.
133
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
135
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
136
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
137
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
138
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
139
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Agora precisamos ligar ou linkar esses widgets java como nossos xml.
140
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
141
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
142
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
143
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
144
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
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
146
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
147
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
148
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
149
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
150
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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:
153
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Agora vamos selecionar uma Empty Activity e logo após clique em Next.
154
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
155
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
156
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
157
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
158
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Vamos adicionar dois buttons, mas vamos fazer isso de uma maneira
diferente.
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.
160
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
161
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Bom agora que temos nosso FrameLayout vamos criar os fragmentos que
serão carregados dentro dele.
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.
163
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Agora vá em New!
164
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Selecione Package!
165
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Aperte enter.
Clique em Ok!
166
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
Clique em New!
168
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
169
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
171
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
172
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Agora precisamos alterar o que nós acabamos de criar esse TextView dentro
do fragment_contatos.
173
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
174
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Agora vamos retornar essa view. Coloque o cursor do mouse no local indicado
e aperte enter duas vezes.
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.
176
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
177
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
178
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
179
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Digite frameConteudo
180
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
181
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
182
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
183
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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!
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
188
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Next!
Clique em Finish.
189
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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".
191
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Aperte Enter.
192
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Aperte Enter.
Digite: android:layout_height="wrap_content".
193
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
194
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
195
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Veja, abriu uma janela onde encontramos os tipos de ícones que podemos
utilizar.
196
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
198
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
201
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
202
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
203
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
204
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
205
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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) { } };
206
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
ANOTAÇÕES
_____________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
208
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
AULA 11
Clique em New!
209
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Next!
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.
Digite LinearLayout.
211
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
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.
214
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
216
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Finish.
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.
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.
219
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Aperte enter.
220
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
Clique em ok!.
222
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
Aperte Enter!
224
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Para que o adapter funcione ele precisa estender, herdar de uma classe
chamada BaseAdapter.
Coloque o cursor do mouse no local indicado.
225
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
227
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
228
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
229
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
230
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
231
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
233
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Para agilizar nosso projeto inserir todos os itens, agora vamos criar nosso
adapterListView.
234
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
235
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
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.
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
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
241
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em Next.
Clique em Finish.
242
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Vamos selecionar o
[Link].
243
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Aperte enter.
244
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Veja ainda está aparecendo os comandos do Hello World, não vamos utilizá-
lo então podemos apagá-lo.
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.
246
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
247
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
248
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
Clique em Finish.
250
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em New.
251
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
Aperte Enter.
253
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em New.
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.
Vamos selecionar o
[Link].
Aperte Backspace.
257
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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 .
259
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
260
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
e aperte enter.
261
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
262
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
263
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
264
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
265
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
266
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
267
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
268
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
269
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
270
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
271
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:gravity="center“ e aperte enter.
272
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
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
276
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
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
Acabamos de criar uma variável com o nome de nosso banco de dados, para
assim podermos cria-lo.
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.
Agora vamos criar o método OnCreate, que será utilizado para criar a tabela
Contatos.
280
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
281
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
282
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
É 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 .
283
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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.
285
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
286
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Agora vamos criar a nossa lista de nossa classe, digite no local indicado:
List<Contato> lista = new ArrayList<Contato>(); e aperte enter duas
vezes.
287
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
288
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
289
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
Clique em [Link].
290
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
291
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
293
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
294
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
295
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
296
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
297
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
298
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
299
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
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
Desafio 01
A resposta do desafio 1 encontra-se na Aula 06 como parte do aplicativo
desenvolvido.
Desafio 02
layout
activity_Main
<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
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];
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_jogaractivity);
}
}
}
mainactivity
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
305
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
ImageView ImgEntrar;
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
[Link](new [Link]() {
@Override
public void onClick(View view) {
<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];
Button btnSalmo;
TextView txtFrases;
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
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\"."
};
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
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];
310
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
btnJogar = findViewById([Link]);
[Link](new [Link]() {
@Override
public void onClick(View v) {
[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
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_resultado);
// recuperar dados
Bundle dados = getIntent().getExtras();
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
<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];
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
}
[Link]("Pedra");
315
DESENVOLVEDOR DE APLICATIVOS PARA ANDROID
[Link]("Papel");
[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