Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

PROGRAMAÇÃO 
CODING (MOBILE)
Unidade 4
Eventos e 
resultados na 
interface do app
CEO 
DAVID LIRA STEPHEN BARROS
Diretora Editorial 
ALESSANDRA FERREIRA
Gerente Editorial 
LAURA KRISTINA FRANCO DOS SANTOS
Projeto Gráfico 
TIAGO DA ROCHA
Autoria 
LUIZ FERNANDO CORCINI
4 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
A
U
TO
RI
A
Luiz Fernando Corcini
Olá. Sou graduado em Engenharia Eletrônica, com 
especialização em Administração de TI; mestre em Educação 
e Novas Tecnologias; e doutorando em Sistemas Tutores 
Inteligentes. Tenho experiência técnico-profissional na área de 
desenvolvimento e gestão da produção de softwares nas áreas 
de Gerenciamento de Processos Empresariais e uso os recursos 
disponibilizados pela web há mais de 20 anos.
Sou professor universitário há mais de 15 anos e já 
publiquei vários livros técnicos sobre assuntos voltados a área 
de informática. Sou apaixonado pelo que faço e adoro transmitir 
minha experiência de vida àqueles que estão iniciando em suas 
profissões. Por isso, fui convidado pela Editora Telesapiens a 
integrar seu elenco de autores independentes.
Estou muito feliz em poder ajudar você nesta fase de muito 
estudo e trabalho. Conte comigo!
5PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
ÍC
O
N
ESEsses ícones aparecerão em sua trilha de aprendizagem nos seguintes casos:
OBJETIVO
No início do 
desenvolvimento 
de uma nova 
competência. DEFINIÇÃO
Caso haja a 
necessidade de 
apresentar um novo 
conceito.
NOTA
Quando são 
necessárias 
observações ou 
complementações. IMPORTANTE
Se as observações 
escritas tiverem que 
ser priorizadas.
EXPLICANDO 
MELHOR
Se algo precisar ser 
melhor explicado ou 
detalhado. VOCÊ SABIA?
Se existirem 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo.
SAIBA MAIS
Existência de 
textos, referências 
bibliográficas e links 
para aprofundar seu 
conhecimento.
ACESSE
Se for preciso acessar 
sites para fazer 
downloads, assistir 
vídeos, ler textos ou 
ouvir podcasts. 
REFLITA
Se houver a 
necessidade de 
chamar a atenção 
sobre algo a 
ser refletido ou 
discutido.
RESUMINDO
Quando for preciso 
fazer um resumo 
cumulativo das últimas 
abordagens.
ATIVIDADES
Quando alguma 
atividade de 
autoaprendizagem 
for aplicada. TESTANDO
Quando uma 
competência é 
concluída e questões 
são explicadas.
6 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
SU
M
Á
RI
O
Tratamento de eventos ............................................................ 9
Definindo o protótipo da aplicação .................................................................. 9
Implementando a aplicação .............................................................................10
Preparando a tela principal ...............................................................11
Preparando a tela2 .............................................................................16
Preparando a tela3 .............................................................................20
Capturando resultados de uma atividade ............................ 24
Preparando as telas da aplicação ...................................................................28
Capturando a seleção do usuário ..................................................................31
Retornando o item selecionado ......................................................................33
Chamando ações do sistema Android .................................... 36
ACTION_VIEW ......................................................................................................36
ACTION_PICK .......................................................................................................41
ACTION_CALL ......................................................................................................43
Layout de tela ........................................................................... 47
Entendendo o layout de tela ...........................................................................47
FrameLayout .......................................................................................................47
LinearLayout .......................................................................................................53
Relevância dos componentes ........................................................... 55
TableLayout .........................................................................................................59
Atributo StretchColluns ........................................................................61
Atributo ShrinkColluns .........................................................................65
Combinando layouts ...........................................................................67
7PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
A
PR
ES
EN
TA
ÇÃ
O
Seja bem-vindo! Nesta unidade, vamos projetar e 
desenhar telas para aplicativos móveis, aplicando-lhes técnicas de 
usabilidade e recursos disponíveis no sistema Android, por meio da 
linguagem Java Mobile. É claro que existe muito mais a aprender, 
mas o aprofundamento de cada um desses conhecimentos 
pode ser feito acessando o link indicado durante o texto, nos 
iconográficos. Vamos começar? Excelente estudo para você!
8 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
O
BJ
ET
IV
O
S
Olá. Seja muito bem-vindo à Unidade 4. Nosso objetivo 
é auxiliar você no desenvolvimento das seguintes competências 
profissionais até o término desta etapa de estudos:
1. Formatar telas de aplicativos para dispositivos móveis 
baseados no sistema operacional Android.
2. Obter e tratar dados provenientes das mais diversas 
atividades em um aplicativo Android, por meio da 
linguagem Java Mobile. 
3. Invocar ações dos recursos residentes no sistema 
operacional Android.
4. Projetar e desenhar telas para aplicativos móveis, 
aplicando-lhes técnicas de usabilidade e recursos 
disponíveis no sistema Android, por meio da linguagem 
Java Mobile.
Vamos, então, rumo ao conhecimento. Bons estudos!
9PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Tratamento de eventos
OBJETIVO
Ao término deste capítulo, você será capaz 
de entender como acontece o tratamento de 
eventos. E então? Motivado para desenvolver essa 
competência? Então vamos lá. Bom estudo!
O termo “evento”, no contexto desta disciplina, pode 
ser definido como a ação do usuário sobre algum componente 
apresentado na tela, isto é, podemos considerar que a cada 
interação do usuário com o aplicativo, em geral, ocorre um evento 
que pode ser identificado e tratado.
SAIBA MAIS
A maioria dos aplicativos desenvolvidos para 
dispositivos móveis necessita da interação do 
usuário para seu funcionamento correto. O usuário 
deve fazer escolhas, clicar em botões, selecionar 
itens em uma lista ou marcar a opção desejada.
Agora, vamos aprender a como tratar os eventos que o 
usuário pode realizar com esses componentes. Para tanto, vamos 
criar uma aplicação simples. Siga com atenção os passos descritos 
a seguir.
Definindo o protótipo da 
aplicação
Todo projeto precisa de um protótipo, no qual podemos 
entender o funcionamento do app e quais componentes são 
necessários para que ele seja executado adequadamente. Sendo 
assim, a imagem a seguir apresenta o protótipo do projeto, 
exemplo que usaremos para tratar os eventos: 
10 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.1 – Protótipo da aplicação Android
Fonte: Elaborada pela autoria (2023).
Percebe-se, pela imagem anterior, que nossa aplicação 
será composta por três telas (activity). Na primeira tela (Principal), 
vamos precisar utilizar três tipos de componentes: (1) dois 
TextView; (2) um Plain Text; e (3) um Button. Na segunda tela, vamos 
precisar de quatro tipos de componentes: (1) seis do tipo TextView; 
(2) dois do tipo Plain Text; (3) dois do tipo Option Buton; (4) um do 
tipo Button. Por fim, na terceira tela, precisaremos desses tipos de 
componentes: (1) dois do tipo TextView; (2) dois do tipo Button; (3) 
um do tipo PlainText.
Implementando a aplicação
Para implementar a aplicação, abra o Android Studio e crie 
uma nova aplicação, chamada App_Evento_U4, com uma “Empty 
Activity”, chamada Principal. Depois do projeto estar carregado 
na IDE Android Studio, insira mais duas telas (Empty Activity) em 
seu projeto, com os nomes de Tela2 e Tela3, respectivamente. Seu 
projeto deve ficar assim:
11PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.2 – Telas da aplicação
Fonte: Elaborada pela autoria (2023).
Observe, na imagem anterior, que cada tela (classe Activity.
java) possui um arquivo xml (layout) correspondente. Trataremos 
cada uma delas a partir de agora.
Preparando a tela principal
Layout da tela
Abra o arquivo que corresponde ao layout da Tela Principal 
(activity_principal.xml) e insira os componentes conforme a imagem 
4.1. O código xml deve ficar assim:
12 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.3 – Arquivo xml layout da tela principal
Fonte: Elaborada pela autoria (2023).
Salve e execute o aplicativo. O AVD deve ser apresentado 
com o que mostra a imagem a seguir:
13PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.4 – Resultado do AVD para tela principal
Fonte: Elaborada pela autoria (2023).
Classe Activity da tela principal
Os eventos que devem acontecer na tela principal são: 
ao clicar no botão OK, o aplicativo deve capturar o nome do 
usuário digitado na caixa de texto e passá-lo como parâmetro 
para a tela 2.
IMPORTANTE
Perceba que o usuário pode clicar no botão OK 
sem digitar qualquer nome na caixa de texto 
correspondente e esse “erro” precisa ser tratado.
14 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Sendo assim, primeiro precisamos permitir ao aplicativo 
“ouvir” o clique do mouse sobre o botão. Isso é chamado de evento 
“listener”. Mas, se você está em dúvida, verifique o código na 
imagem a seguir:
Imagem 4.5 – Classe Activity para a tela principal
Fonte: Elaborada pela autoria (2023).
Nesse ponto, precisamos destacar dois casos: 
1. Repare que, na linha 25, para que possamos capturar 
o nome que o usuário escreveu, precisamos saber o 
nome do componente em que ele escreveu o nome: 
“txt_nome”. Demos esse nome porque é uma caixa de 
texto (txt) que supostamente terá como conteúdo o 
nome do usuário (nome). Por isso, “txt_nome”. O nome 
do componente foi dado quando montamos o arquivo 
xml do layout da tela principal (linha 19 – Imagem 4.3).
15PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
2. Observe que, na linha 28, existe uma verificação, se 
o conteúdo da caixa de texto onde o usuário deve 
digitar seu nome está vazia, o aplicativo apresenta 
uma mensagem de aviso e não executa a intenção de 
chamada para a tela2, isto é, caso o usuário esqueça 
de digitar o seu nome e clicar no botão OK, o aplicativo 
deve se comportar como mostrado na imagem a seguir:
Imagem 4.6 – Mensagem de aviso quando o nome do usuário é deixado em branco e o 
botão OK é pressionado
Fonte: Elaborada pela autoria (2023).
16 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Preparando a tela2
Layout da tela2
Conforme mostrado (Imagem 4.1), a tela2 possui vários 
componentes, e um deles deve receber o nome do usuário. 
Podemos imaginar que seja possivelmente o primeiro componente 
“TextView”, o qual contém o texto “Olá”. Primeiramente, vamos 
montar o arquivo xml que define o layout da tela2. O código deve 
ser como mostrado na seguinte imagem:
Imagem 4.7 – Código xml do layout da tela2
Fonte: Elaborada pela autoria (2023).
17PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Salve e execute o aplicativo. O AVD deve ser apresentado 
com o que mostra a imagem a seguir:
Imagem 4.8 – Resultado do AVD para tela2
Fonte: Elaborada pela autoria (2023).
Note que o nome do usuário ainda não está aparecendo. 
Precisamos tratar isso na classe java correspondente à tela2.
18 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Classe Activity da tela2
Agora que temos o layout da tela2 implementado, 
precisamos implementar o código java para que ela receba o 
parâmetro relativo ao nome do usuário. Também apresente o 
nome logo após a palavra “Olá”, e capture os dados digitados nos 
campos apresentados quando o usuário clicar no botão “Seguir”. 
Primeiro, vamos capturar o parâmetro, ou seja, o pacote de 
dados enviado pela tela principal. Para isso, usamos os métodos: 1 - 
getIntent() – para capturar a intenção de chamada; 2 - getExtras() – para 
recuperar o pacote de dados enviado; 3 -getSting() – para recuperar o 
parâmetro enviado. Veja como mostra a próxima imagem:
Imagem 4.9 – Código java da tela2 para capturar o parâmetro enviado pela tela principal
Fonte: Elaborada pela autoria (2023).
19PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
A seguir, salve e execute o aplicativo. O AVD deve ser 
apresentado com o que mostra a seguinte imagem:
Imagem 4.10 – Tela2 capturando o dado enviado pela tela principal
Fonte: Elaborada pela autoria (2023).
Repare, no código java (imagem 4.9), para inserir o conteúdo 
enviado por parâmetro para a tela2, na caixa de texto que contém 
a palavra “Olá”, precisamos saber o nome deste componente, que, 
neste caso, é “TextView5”. Ficaria muito mais fácil de se programar 
se o nome dado a esse componente fosse algo que lembrasse do 
que ele trata, por exemplo: “txt_ola”, não concorda? 
Foi por isso que, na imagem 4.7, destacados em vermelho, 
escolhemos nomes mnemônicos para os componentes que 
precisamos manipular. Agora que capturamos os dados, enviado 
pela tela principal, e o apresentamos na tela2, precisamos tratar 
o evento de clique no botão “Seguir”, na tela2. Da mesma forma 
que aconteceu na tela principal, precisamos prever que o usuário 
20 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
pode “esquecer” de preencher os campos e clicar direto no botão 
“Seguir”.
Imagem 4.11 – Código java da tela2 para capturar e enviar os dados de peso e altura 
digitados pelo usuário
Fonte: Elaborada pela autoria (2023).
Observe que, na imagem anterior, nas linhas 48, 49 e 50, 
três parâmetros são enviados para a tela3, quais sejam: nome, 
altura e peso do usuário. Vamos tratar, enfim, da tela3.
Preparando a tela3
Layout da tela3
Dando os nomes corretos aos componentes que serão 
utilizados, o arquivo xml da tela3, fica como mostrado na próxima 
imagem:
21PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.12 – Arquivo xml do layout da tela3
Fonte: Elaborada pela autoria (2023).
Repare que, nas linhas 12, 18 e 32 da imagem anterior, 
foram dados os nomes mnemônicos para os componentes, pois 
eles serão usados pelo código java.
Classe Activity da tela3
A imagem a seguir apresenta o código java da classe Activity 
que representa a tela3.
22 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.13 – Código java da tela3
Fonte: Elaborada pela autoria (2023).
O resultado deve ser como mostrado na imagem a seguir:
Imagem 4.14 – Resultado da aplicação
Fonte: Elaborada pela autoria (2023).
23PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
RESUMINDO
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo tudinho? Agora, só para termos certeza de 
que você realmente entendeu o tema de estudo 
deste capítulo, vamos resumir tudo o que vimos. 
Você deve ter aprendido sobre o tratamento 
de eventos, bem como definição do protótipo 
da aplicação, entre outros. Esperamos que 
tenha aproveitado ao máximo todo o conteúdo 
apresentado.
24 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Capturando resultados de uma 
atividade
OBJETIVO
Ao término deste capítulo, você será capaz de 
entender como capturar resultados de uma 
atividade, preparar as telas de aplicação, entre 
outros. E então? Motivado para desenvolver essa 
competência? Então vamos lá. Bom estudo!
A função do objeto “Intent” é a de declarar a intenção de 
iniciar outra atividade a partir de uma já em execução. Utilizando 
o objeto Intent, a atividade em execução pode: 1 - especificar qual 
outra atividade ela deseja iniciar – item que veremos neste tópico; 
2- descrever o tipo de ação que ela deseja realizar – item que 
veremos no capítulo 3 deste material. 
O sistema Android localiza a atividade apropriada para 
realizar a tarefa definida pela ação. É possível passar dados para 
a atividade que vai ser iniciada com o objeto Bundle (embrulho 
ou pacote de dados) e receber retorno dela, fazendo uso dos 
métodos startActivity() e startActivityForResult(). Até o momento, 
todos os exemplos apresentados utilizaram somente o método 
starActivity(). 
Agora que já foi compreendido como chamar uma nova 
atividade e como inserir alguns componentes nela, a aplicação 
pode se tornar mais complexa e pode haver a necessidade de 
capturar o retorno de uma atividade iniciada. Para tanto, utiliza-se 
o método starActivityForResult() no lugar do método starActivity(). 
Um exemplo comum para esse caso acontece quando o usuário 
necessita escolher um de seus contatos da lista para executar 
alguma ação com ele, como mandar uma mensagem, fazer uma 
ligação ou fazer qualquer coisa com a informação desse contato. A 
utilização do método startActivityForResult() faz com que a atividade 
25PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
que foi iniciada, ao ser concluída, retorne um resultado, na forma 
de Intent, para a atividade que a iniciou. 
Para iniciar o estudo, crie um novo projeto Android com as 
seguintes características: 
 • Nome da aplicação: “App_Intent_U4”;
 • Nome da atividade: “Principal”;
 • Na classe Atividade Principal, defina os seguintes 
componentes: um label (TextView) com o atributo text 
= “Esta é a Tela Principal”; e um Botão (Button) com o 
atributo text = “Seguir para a Próxima Tela”. O um label 
(textView) com o atributo text = “captura retorno”. 
Quando o botão for clicado, deve ser chamada uma 
nova tela (classe Atividade) chamada “Tela2”, com as seguintes 
características: 
 • Nome da atividade: “Tela2”;
 • Na segunda tela (Tela2), defina o seguinte componente: 
o TextView com o atributo text = “Esta é a segunda Tela 
do App”. Não se esqueça de mudar o tipo de layout para 
LinearLayout e definir sua orientação como “vertical”. 
Implementando o código xml para o layout das duas telas, 
descritas acima, temos para tela principal a imagem a seguir:
26 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.15 – Código xml para o layout da tela principal
Fonte: Elaborada pela autoria (2023).
Já para a Tela2 temos a imagem: 
Imagem 4.16 – Código xml para o layout da segunda tela do aplicativo
Fonte: Elaborada pela autoria (2023).
27PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Implementando o código java para as duas telas teremos, 
para a tela principal a imagem:
Imagem 4.17 – Código java para a tela principal
Fonte: Elaborada pela autoria (2023).
Enquanto para a Tela2, a imagem a seguir:
Imagem 4.18 – Código java para a Tela2
Fonte: Elaborada pela autoria (2023).
28 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Salve e execute a aplicação. O resultado deve ser o 
mostrado na próxima imagem:
Imagem 4.19 – Resultado da execução do aplicativo
Fonte: Elaborada pela autoria (2023).
Preparando as telas da aplicação
O próximo passo é modificar a segunda tela para que ela 
contenha algum componente que, ao ser selecionado pelo usuário, 
envie um retorno para a tela principal. Podemos, em um exemplo 
básico, montar uma lista das estações do ano, permitindo, assim, 
que o usuário selecione uma delas e este valor (da escolha do 
usuário) seja capturado e retornado. Para tanto, altere o código 
do arquivo layout xml da Tela2 para que ele fique da seguinte 
maneira:
29PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.20 – Novo código xml para a tela2
Fonte: Elaborada pela autoria (2023).
Observe que o atributo Android: entries (linha 28) do 
componente ListView é um array e deve ser definido no arquivo 
strings.xml, na subpasta res/values, da mesma maneira que foi feito 
quando inserimos o combobox para selecionar o sexo do usuário.
O arquivo strings.xml deve ficar como mostra a seguinte 
imagem:
30 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.21 – Arquivo strings.xml
Fonte: Elaborada pela autoria (2023).
E, por fim, a segunda tela deve ficar, como mostra a 
imagem a seguir:
Imagem 4.22 – Resultado tela2 depois das últimas alterações
Fonte: Elaborada pela autoria (2023).
31PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Capturando a seleção do usuário
Agora, é necessário aprender como capturar o item 
selecionado da lista de estações (componente ListView). Para tanto, 
modifique o código java da tela2 para ficar conforme mostra a 
imagem:
Imagem 4.23 – Código java para capturar a opção selecionada pelo usuário
Fonte: Elaborada pela autoria (2023). 
Fazendo essas alterações, salvando e executando o 
aplicativo, teremos o seguinte resultado:
32 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.24 – Resultado da captura da escolha do usuário
Fonte: Elaborada pela autoria (2023).
Repare que, ao clicar na opção “Inverno”, na tela do meio, 
essa opção aparece em destaque na tela à direita, por alguns 
segundos, e depois some. Ao selecionar outra opção (Estação), essa 
será apresentada. Isso acontece porque, no método onItemClick() 
(linha 21- 26, da imagem 4.23), temos um comando Toast.makeText 
responsável por essa ação. Explicando melhor o que acontece 
dentro deste método onItemClick(): 
 • Na linha 23, a estação escolhida pelo usuário é 
capturada do objeto View e passada para um objeto lbl 
do tipo TextView; 
 • Na linha 24, o conteúdo desse objeto é transformado 
em string e passado para uma variável chamada “texto”; 
 • Na linha 25, o método makeText(), do objeto Toast é 
responsável por apresentar uma mensagem de popup 
temporária. Esse método possui três parâmetros: (1) o 
contexto da aplicação; (2) o texto a ser exibido; e (3) a 
duração da mensagem.
33PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Retornando o item selecionado
Agora que o projeto está funcionando adequadamente, é 
hora de utilizar o método startActivityForResult() para permitir que 
a segunda tela (Tela2) devolva (retorne) o resultado selecionado 
pelo usuário para a tela principal. Para tanto, modifique o código 
da Tela Principal para que fique como mostra a seguir:
Imagem 4.25 – Classe Principal.java modificada para reconhecer o retorno da Tela2.java
Fonte: Elaborada pela autoria (2023).
34 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Por fim, modifique o código da segunda tela, para que ela 
fique como mostra a seguinte imagem:
Imagem 4.26 – Classe Tela2.java modificada para enviar item selecionado pelo usuário como 
retorno para a classe Principal.java
Fonte: Elaborada pela autoria (2023).
Salvando e executando o aplicativo, temos o seguinte 
resultado:
Imagem 4.27 – Resultado da captura do item selecionado pelo usuário
 
Fonte: Elaborada pela autoria (2023).
35PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Explicando o código: 
 • Na primeira tela: no método onClick(), em vez de 
utilizar o comando starActivity(), foi utilizado o comando 
startActivityForResult(), pois, para esse caso, queremos 
tratar o resultado da escolha do usuário na segunda 
tela. Os parâmetros desse comando sempre serão o 
objeto Intent e o número 0 (zero). 
Para tratar o resultado escolhido pelo usuário, 
implementou-se o método onActivityResult(), que sempre deve ser 
declarado quando o comando startActivityForResult() for utilizado. 
Dentro deste método (onActivityResult()), faz-se o teste para verificar 
se o objeto Intent foi retornado. Caso não tenha sido efetivado, 
isto é, caso a segunda tela tenha sido fechada sem que o usuário 
escolha algum item, a mensagem mostrada será: “Nenhum item 
selecionado”. Mas caso o usuário escolha algum item, antes de 
fechar a segunda tela, o valor escolhido é atribuído a um texto 
variável e mostrado na tela. 
 • Na segunda tela: a modificação acontece no método 
onItemClick() que, em vez de mostrar o resultado 
escolhido pelo usuário, declara um objeto Intentpara o 
qual é atribuído o valor escolhido por ele. Esse objeto 
é devolvido à tela principal, pelo método setResut, que 
terá acesso ao mesmo, logo que esta tela for fechada, 
e isso acontece quando o método finish() é executado.
RESUMINDO
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo tudinho? Agora, só para termos certeza de 
que você realmente entendeu o tema de estudo 
deste capítulo, vamos resumir tudo o que vimos. 
Aqui, você viu sobre capturar resultados de uma 
atividade, preparar as telas de aplicação, entre 
outros. Esperamos que tenha aproveitado ao 
máximo todo o conteúdo apresentado.
36 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Chamando ações do sistema 
Android
OBJETIVO
Ao término deste capítulo, você será capaz de 
entender como funcionam as ações do Sistema 
Android. E então? Motivado para desenvolver essa 
competência? Então vamos lá. Bom estudo!
O objeto Intent também pode chamar ações e permitir 
que o sistema Android escolha qual aplicativo deve executá-lo. 
Apresentaremos, neste tópico, algumas ações que o objeto Intent 
suporta. 
ACTION_VIEW
A ação Intent.ACTION_VIEW é a mais comum utilizada pelos 
programadores para mostrar dados para o usuário. Imagine 
que seu aplicativo precisa, em um determinado momento, abrir 
o navegador em algum site específico. Isso pode ser feito com o 
ACTION_VIEW, de acordo com o exemplo a seguir.
EXEMPLO: Uri endereco = Uri.parse(“http://www.
google.com”); Intent i = new Intent(Intent.ACTION_VIEW, 
endereco); startActivity(i);
37PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Para verificar o funcionamento dessa ação do objeto Intent, 
crie um novo projeto no Android Studio, chamado App_ACTION_U4, 
com uma Empty Activity chamada Principal. Ela deve conter um 
botão que, ao ser clicado, abre o navegador na página definida 
pela variável “endereço”. O Código xml do layout da aplicação deve 
ficar como mostrado na seguinte imagem: 
Imagem 4.28 – Código xml para o exemplo
Fonte: Elaborada pela autoria (2023).
O código java, por sua vez, deve ficar como a imagem a 
seguir:
38 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.29 – Código Java para o exemplo
Fonte: Elaborada pela autoria (2023).
Salvando e executando o aplicativo, tem-se o seguinte:
Imagem 4.30 – Resultado do exemplo
Fonte: Elaborada pela autoria (2023).
39PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
EXEMPLO: ainda utilizando a ação Intent.ACTION_VIEW, 
pode-se iniciar o aplicativo “agenda de contatos” da 
seguinte forma: 
Uri contato = Uri.parse(“content://com.Android.contacts/
contacts/1”); Intent i = new Intent(Intent.ACTION_VIEW, 
contato); startActivity(i); 
O número 1 na primeira linha do código acima indica qual 
“id” do contato deve ser visualizada.
IMPORTANTE
Para que essa chamada retorne o comando 
solicitado, deve-se entrar no aplicativo 
correspondente e cadastrar alguns contatos. 
Caso contrário, o aplicativo “lista de contatos” 
avisará que não existe contato cadastrado para ser 
visualizado.
Para listar todos os contatos, a primeira linha do código, 
do exemplo acima, não deve ter o identificador do contato. Crie 
uma nova “Empty Activity” em seu projeto, com o nome de Lista_
Contatos e insira o código apresentado anteriormente em um 
botão, da seguinte forma:
40 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.31 – Visualizando o primeiro contato da lista de contatos
Fonte: Elaborada pela autoria (2023).
Executando o aplicativo, temos o seguinte resultado:
Imagem 4.32 – Resultado do exemplo
Fonte: Elaborada pela autoria (2023).
41PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
ACTION_PICK
Diferente do “ACTION_VIEW”, que apenas permite a 
visualização dos contatos, como mostrado no tópico anterior, o 
“ACTION_PICK”, além de permitir a visualização desses, permite 
também que o usuário selecione um deles e, ao fazer isso, a 
atividade “lista de contatos” é fechada e o contato selecionado é 
retornado para a atividade anterior. 
Para o melhor entendimento de como o “ACTION_PICK” 
funciona, siga as seguintes orientações: crie uma nova tela (Empty 
Activity) em seu projeto, e dê a ela o nome de Tela2. Dentro dela, 
crie um botão (button1) e o atribua a função “Listener” - para que, 
ao ser clicado, abra a tela de contatos para que o usuário possa 
selecionar um deles. 
O código xml fica desta forma:
Imagem 4.33 – Código xml do layout da tela2
Fonte: Elaborada pela autoria (2023).
42 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
O código java deve ser como mostrado na seguinte 
imagem:
Imagem 4.34 – Código java da tela2
Fonte: Elaborada pela autoria (2023).
Repare que, diferente do que aconteceu no exemplo 
utilizando o “ACTION_VIEW”, nesse caso não se indica o número do 
contato a ser exibido (linha 23). Ao ser executado, o aplicativo deve 
se comportar da maneira apresentada a seguir:
43PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.35 – Resultado da utilização do ACTION_PIC
Fonte: Elaborada pela autoria (2023).
ACTION_CALL
Outra ação importante é o “Intent.ACTION_CALL”, 
responsável por fazer ligações telefônicas para um contato 
especificado. Sua utilização deve ser como exemplificado a seguir. 
EXEMPLO: Uri telefone = Uri.parse(“tel:99999999”); Intent i 
= new Intent(Intent.ACTION_CALL, telefone); startActivity(i);
 Para o melhor entendimento de como o “ACTION_PICK” 
funciona, verifique as seguintes afirmações: crie uma nova tela 
(Empty Activity) em seu projeto e dê a ela o nome de Tela3. Dentro 
dela, crie um botão (button1) e o atribua a função “Listener”, para 
que, ao ser clicado, possa iniciar a atividade de “fazer chamada 
telefônica”.
44 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
O código xml fica desta forma:
Imagem 4.36 – Código xml do layout da tela3
Fonte: Elaborada pela autoria (2023).
O código java deve ser como mostrado a seguir:
Imagem 4.37 – Código java para o exemplo
Fonte: Elaborada pela autoria (2023).
45PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Ao ser executado, o aplicativo deve se comportar da 
maneira apresentada na seguinte imagem:
Imagem 4.38 – Resultado para a utilização de ACTION_CALL
Fonte: Elaborada pela autoria (2023).
SAIBA MAIS
Para conhecer outras ações que podem ser 
executadas pelo objeto Intent, acesse o QR code . 
http://developer.android.com/reference/android/content/Intent.html 
46 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
RESUMINDO
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo tudinho? Agora, só para termos certeza de 
que você realmente entendeu o tema de estudo 
deste capítulo, vamos resumir tudo o que vimos. 
Aqui, você aprendeu a invocar ações dos recursos 
residentes no sistema operacional Android. 
Esperamos que tenha aproveitado ao máximo 
todo o conteúdo apresentado.
47PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Layout de tela
OBJETIVO
Ao término deste capítulo, você será capaz de 
entender como são os layouts de telas, quais as 
relevâncias dos componentes, dos atributos e 
como combinar os layouts. E então? Motivado para 
desenvolver essa competência? Então vamos lá. 
Bom estudo!
Entendendo o layout de tela
Como visto, sempre que uma tela (classe atividade) 
é definida, é necessário também definir o arquivo xml que 
corresponde ao seu layout. Durante todo o material, foi utilizado 
o layout para facilitar a compreensão e a disposição simples que 
ele permite. Este tópico trata dos tipos de layout mais importantes 
permitidos pelo sistema Android, para se configurar uma aplicação. 
São eles: FrameLayout, LinearLayout e TableLayout.
IMPORTANTE
Nas aplicações atuais, um layout bem definido 
é muito importante para chamar a atenção do 
usuário. Por isso, além de ter um código que 
funcione corretamente (sem erros e com as regras 
de negócio bem determinadas), o desenvolvedor 
não pode esquecer de tratar o layout do aplicativo 
como algo essencial para o sucesso do produto.
FrameLayout
Esse é o tipo mais comum de layout, em que o 
componente sempre é posicionado no canto superioresquerdo 
da tela e, caso exista mais de um componente, um sobrepõe o 
outro. Dependendo do tamanho (propriedades altura e largura), 
definidos pelo usuário, o mesmo pode preencher toda a tela. Crie 
um novo app, chamado “AppLayout1_U4”, com uma Empty Activity. 
48 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Dentro do arquivo xml que define o layout da activity, insira o 
seguinte código, como mostra a imagem a seguir:
Imagem 4.39 – Código do exemplo
Fonte: Elaborada pela autoria (2023).
Depois, salve o arquivo, execute a aplicação e verifique o 
resultado. Ele deve se parecer com o da seguinte imagem:
49PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.40 – Frame Layout
Fonte: Elaborada pela autoria (2023).
Note que a componente imagem sobrepôs o componente 
texto e que a cor de fundo do layout foi definida pelo atributo 
“Android:background” (linha 6, da imagem 4.39) que, para esse 
caso, recebeu o valor “@ Android:color/holo_orange_light”. Outro 
item importante a ser notado está na linha 20, da imagem 4.39: 
a propriedade “src” define a imagem a ser usada. Essa imagem 
deve estar definida na pasta res-> mipmap, como destacado na 
sequência:
50 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.41 – Local onde devem ser armazenadas as imagens que podem ser utilizadas no 
aplicativo
Fonte: Elaborada pela autoria (2023).
À primeira vista, pode parecer que esse tipo de layout não 
tenha muita utilidade, porém, se alterarmos um pouco o tamanho 
e a disposição dos componentes da tela, você vai perceber que 
ele pode ser bastante útil. Veja só nesse exemplo: crie uma nova 
Empty Activity na sua aplicação e insira o código abaixo (imagem 
4.42) no arquivo xml que define o layout da tela.
51PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.42 – Exemplo da utilização do FrameLayout
Fonte: Elaborada pela autoria (2023).
Depois de salvar e executar essa Activity, temos o seguinte 
resultado:
52 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.43 – Resultado do uso de FrameLayout
Fonte: Elaborada pela autoria (2023).
Antes de passar para o próximo tipo de layout, é necessário 
dar destaque à “linha 14” do código xml acima, o qual determina a 
imagem a ser usada: “Android_logo1”. Essa imagem não vem com 
a IDE Android Studio, como acontece com algumas outras e, para 
utilizá-la, é necessário inseri-la na pasta “res->mipmap”, da seguinte 
forma: 1 - Grave a imagem que deseja inserir no seu aplicativo em 
algum local na sua máquina (de preferência no formato png); 2 - 
Clique sobre a imagem, com o botão direito do mouse e selecione 
a opção copiar; 3 - Clique sobre a pasta “mipmap”, com o botão 
direito do mouse e selecione a opção colar. Para inserir a imagem 
na tela use o código xml “Android:src:@ mipmap/Android_logo1”, a 
destacar que “Android_logo1” é o nome da imagem.
53PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
LinearLayout
Esse tipo de layout é utilizado para organizar os 
componentes na vertical ou na horizontal. A orientação dos 
componentes é definida pelo atributo “Android:orientation”, o qual 
pode ter o valor “horizontal” ou “vertical”. Crie uma nova Empty 
Activity em sua aplicação e escreva o seguinte código no arquivo 
xml correspondente ao layout desta tela:
Imagem 4.44 – Exemplo do uso de LinearLayout (vertical)
Fonte: Elaborada pela autoria (2023).
Depois, salve e execute a aplicação. O resultado deve ser 
como apresentado a seguir:
54 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.45 – Resultado do exemplo do uso de LinearLayout (vertical)
Fonte: Elaborada pela autoria (2023).
Repare que a componente imagem foi posicionada abaixo 
(orientação vertical) do componente texto, a cor (imagem) de fundo 
do layout foi definida pelo atributo “Android:background” que, para 
este caso, recebeu o valor “@drawable/ic_launcher_background” 
e a cor do texto foi definida pelo “atributo Android:textColor”, 
como sendo branca. Alterando a orientação do LinearLayout para 
horizontal, teremos o seguinte resultado:
55PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.46 – Resultado do exemplo do uso de LinearLayout (vertical)
Fonte: Elaborada pela autoria (2023).
Relevância dos componentes
Dentro do layout do tipo LinearLayout, você pode 
determinar o espaço que cada componente deve ocupar na tela 
pela importância definida para ele. O atributo responsável por 
definir essa característica de relevância é o “Android:layout_weight” 
que, por padrão, vale zero para todos os componentes. Nota-
se, então, que, por padrão, todos os componentes possuem 
relevâncias idênticas, porém, essa propriedade pode ser alterada 
para valores inteiros maiores que zero. Quanto maior o número 
definido para esse atributo, maior o espaço que o componente 
ocupará na tela do aplicativo.
56 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagine que você queira diferenciar o espaço ocupado 
pelos componentes de uma tela cujo projeto de layout é 
apresentado na próxima imagem:
Imagem 4.47 – Projeto de layout do exemplo
Fonte: Elaborada pela autoria (2023).
O código xml da tela será apresentado, conforme a imagem 
a seguir:
57PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.48 – Código xml do layout da tela do exemplo
Fonte: Elaborada pela autoria (2023).
É importante destacar aqui algumas linhas de código da 
imagem 4.48: 
 • Na linha 5 e 6, foram definidos os espaçamentos dos 
componentes, para que eles não fiquem “grudados” às 
margens esquerda e direita da tela do dispositivo; 
 • Nas linhas 11, 15 e 21, foram definidos os “textos” que 
aparecem na caixa de texto, a informar o que o usuário 
deve digitar. 
58 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
• Na linha 19, é definido que a terceira caixa de texto deve 
ocupar maior espaço que os demais componentes da tela; 
• Na linha 26, é definido que o componente botão deve 
ficar alinhado à direita. Salve e execute este código. O resultado 
deve ser o apresentado na próxima imagem:
Imagem 4.49 – Resultado do exemplo
Fonte: Elaborada pela autoria (2023).
59PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
TableLayout
Esse tipo de layout é utilizado para organizar os 
componentes em linhas e colunas, simulando uma tabela. É o tipo 
ideal de layout para construir formulários. Cada linha da tabela 
é definida pela tag “TableRow” e, dentro dela, cada componente 
incluído é considerado uma coluna.
Crie uma nova Empty Activity em seu projeto. Queremos, 
nesse caso, que a tela tenha o seguinte layout:
Imagem 4.50 – Protótipo de tela para o uso de TableLayout
Fonte: Elaborada pela autoria (2023).
Na imagem 4.50, temos uma tabela com duas linhas e duas 
colunas. O seguinte código xml, pode ser usado para resolver essa 
questão:
60 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 5.51 – Código xml para o exemplo da utilização do FrameLayout
Fonte: Acervo da autoria (2023).
Note que as linhas 9 e 10 (imagem 5.51) declaram as 
células da primeira linha da tabela, e as linhas 13 e 14, as células 
da segunda linha da tabela. O resultado do código anterior pode 
ser visualizado na próxima imagem:
Imagem 5.52 – Resultado do exemplo do uso do FrameLayout
Fonte: Elaborada pela autoria (2023).
61PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Atributo StretchColluns
Muitas vezes, é necessário expandir as colunas para forçar 
o preenchimento de toda a tela do dispositivo. Nesses casos, 
utiliza-se o atributo “StrechColluns”. Crie uma nova Empty Activity 
em seu projeto e para o seu código xml relativo ao layout, copie o 
código da imagem a seguir:
Imagem 4.53 - Exemplo do uso do atributo StretchColluns no TableLayout
Fonte: Acervo da autoria (2023).
62 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Repare que o atributo “Android:stretchColumns” (linha 
7, imagem 5.53) define que a primeira coluna deve se expandir 
para que a “tabela” preencha toda a largura da tela. O atributo 
“Android:layout_gravity” (linha 15) está sendo utilizado apenas 
na “linha 1 – coluna2” para forçar o conteúdo dessa célula a 
ficar alinhado à direita. Os atributos “background” são usados 
nas linhas 12, 14, 20 e 23 para permitir melhor visualização do 
comportamento das células da tabela, como mostra a seguinte 
imagem:
Imagem 4.54 – Resultado do exemplo do uso do atributo StretchColluns no TableLayout
Fonte: Acervo da autoria (2023).
63PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Para melhor fixação dos conhecimentos, acompanhe o 
exemplo a seguir. Imagine que você precisa montar uma tela com 
as seguintes características: 
 • Na tela deve constar uma tabela com 3 linhas e 2 
colunas: a primeira linha deve conter, na primeira 
coluna, um label “Digite seu login”; 
 • Na segunda coluna, uma caixa de texto para que o 
usuário digite o login. 
A segunda linha deve conter: 
 • Na primeira coluna, um label “Digite sua senha”. 
 • Na segunda coluna, uma caixa de texto para que o 
usuário digite a senha. 
A terceira linha deve conter: 
 • Na primeira coluna, um botão “Validar”. 
 • Na segunda coluna, um botão “Cancelar”. O código xml 
para o layout deve ser parecido com o apresentado na 
próxima imagem:
64 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.55 – Código xml para o layout da tela do exemplo
 
Fonte: Elaborada pela autoria (2023).
65PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Por fim, salve e execute essa activity. O resultado deve ser 
o seguinte:
Imagem 4.56 – Resultado do código xml para o layout da tela do exemplo
Fonte: Elaborada pela autoria (2023). 
IMPORTANTE
Verifique o que precisa ser alterado no código 
ou na estrutura dos componentes da activity 
acima (imagem 4.56), para que a componente 
que apresenta a senha mostre apenas asteriscos 
quando o usuário nela digitar.
Atributo ShrinkColluns
Em outros casos, as colunas precisam ser contraídas para 
que o conteúdo delas caiba na tela. O código xml (imagem 4.57) 
apresenta o caso em que uma célula possui um conteúdo muito 
grande e precisa ser adaptado à tela.
66 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.57 – Exemplo do uso do atributo ShrinkColluns
Fonte: Elaborada pela autoria (2023).
O resultado deve ser como na próxima imagem:
67PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Imagem 4.58 – Resultado do exemplo do uso do atributo ShrinkColluns
Fonte: Elaborada pela autoria (2023).
Combinando layouts
Quando necessário, pode-se combinar os tipos de 
layouts na mesma tela. Verifique o exemplo a seguir em que são 
combinados “TableLayout” e “LinearLayout”:
Imagem 4.59 – Código xml que combina TableLayout e LinearLayout
68 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
 
Fonte: Elaborada pela autoria (2023).
O resultado é mostrado a seguir:
Imagem 4.60 – Resultado do código xml que combina TableLayout e LinearLayout
Fonte: Elaborada pela autoria (2023).
69PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
Como você deve ter percebido, é possível fazer muito 
mais com os apps Android. Não deixe de verificar as referências 
bibliográficas para aprender mais. Isso é só o começo, e 
a aprendizagem não pode parar! Muito obrigado por ter 
acompanhado todo o processo até aqui. Sucesso para você!
RESUMINDO
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo tudinho? Agora, só para termos certeza de 
que você realmente entendeu o tema de estudo 
deste capítulo, vamos resumir tudo o que vimos. 
Você deve ter aprendido a projetar e a desenhar 
telas para aplicativos móveis, aplicando-lhes 
técnicas de usabilidade e recursos disponíveis 
no sistema Android, por meio da linguagem Java 
Mobile. Esperamos que tenha aproveitado ao 
máximo todo o conteúdo apresentado.
70 PROGRAMAÇÃO CODING (MOBILE)
U
ni
da
de
 4
RE
FE
RÊ
N
CI
A
S
CLARO, D.; SOBRAL, J. Programação em JAVA. Florianópolis: 
Copyleft Pearson Education, 2008. 
CORDEIRO, F. Android aprendiz. [S. l.]: AndroidPro, 2017. 
CORDEIRO, F. Android studio. 3. ed. [S. l.]: AndroidPro, 2016.
MORIMOTO, C. Smartphones, Guia Prático. Hardware, 
2009. Disponível em: https://www.hardware.com.br/livros/
smartphones/. Acesso em: 08 dez. 2023.
https://www.hardware.com.br/livros/smartphones/
https://www.hardware.com.br/livros/smartphones/
	Tratamento de eventos
	Definindo o protótipo da aplicação
	Implementando a aplicação
	Preparando a tela principal
	Preparando a tela2
	Preparando a tela3
	Capturando resultados de uma atividade
	Preparando as telas da aplicação
	Capturando a seleção do usuário
	Retornando o item selecionado
	Chamando ações do sistema Android
	ACTION_VIEW
	ACTION_PICK
	ACTION_CALL
	Layout de tela
	Entendendo o layout de tela
	FrameLayout
	LinearLayout
	Relevância dos componentes
	TableLayout
	Atributo StretchColluns
	Atributo ShrinkColluns
	Combinando layouts