Desenvolvimento
Android
George Nunes
Parte 2
GeorgeNunes–NTIGrupoCeuma
Conteúdo
 Intent;
 Navegação entre telas;
 Intent Filter;
 Na prática;
GeorgeNunes–NTIGrupoCeuma
Intent
 Representa a intenção da aplicação de realizar
determinada tarefa;
 Nada mais é que uma mensagem ao SO;
 A depender da mensagem e de seu conteúdo, o SO tomará
as decisões apropriadas;
GeorgeNunes–NTIGrupoCeuma
Intent
 Uma Intent pode ser utilizada para:
 Enviar uma mensagem para o Sistema Operacional;
 Abrir uma nova tela da aplicação;
 Ligar para outro celular;
 Abrir o navegador;
 E muitas outras ações.
GeorgeNunes–NTIGrupoCeuma
Navegação entre Telas
 Utilização da classe Intent para navegar;
 startActivity(Intent it)
 startActivityForResult(Intent it, int codigo)
GeorgeNunes–NTIGrupoCeuma
Navegação entre Telas -
startActivity
Context: é um ponto de
acesso para informações
globais sobre um ambiente
de aplicativo.
GeorgeNunes–NTIGrupoCeuma
Navegação entre Telas -
startActivityForResult
GeorgeNunes–NTIGrupoCeuma
Intent
 Intents podem ser explicitas ou implícitas
 Explicitas: chamada direta ao component (exemplos anteriores);
 Implícitas: pergunta ao Android quais componentes estão aptos
e registrados para abrirem os dados de uma determinada intent;
 Exemplos intents implícitas:
GeorgeNunes–NTIGrupoCeuma
Intent Filter
 android.content.IntentFilter;
 Entender a arquitetura entre uma Intent, IntentFilter e
Activity é fundamental;
 Exemplo: recebimento de SMS, intent com ação
android.provider.Telephony.SMS_RECEIVED;
 Registro em outra aplicação da seguinte tag no
arquivo AndroidManifest.xml:
GeorgeNunes–NTIGrupoCeuma
Intent Filter – Abrir uma SMS
App A
App IntentFilter Test
App Messaging
GeorgeNunes–NTIGrupoCeuma
Intent Filter - Exemplo
GeorgeNunes–NTIGrupoCeuma
Intent Filter - Exemplo
GeorgeNunes–NTIGrupoCeuma
Intent Filter - Exemplo
GeorgeNunes–NTIGrupoCeuma
Por que criar uma ação e
categoria para uma Intent?
 Uma intent é uma mensagem enviada ao sistema
operacional, onde qualquer processo pode responder a
esta mensagem;
 Portanto talvez, uma activity de outra aplicação seja
executada, e não exatamente a da nossa aplicação;
 Uma ação e categoria é uma forma excelente de fazer
com que aplicações em processos diferentes se
comuniquem;
 Desta forma, a ação e a categoria juntas, criam um alvo
“certeiro” não gerando dúvidas no processo de
comunicação;
GeorgeNunes–NTIGrupoCeuma
Próximas etapas
 Estruturação de pacotes, RoboGuice, Fragments,
BroadCastReceiver, Notification, Service, ListView,
AlertDialog, ActionBar, SqlLite, SharedPreferences,
Mapas e Localização, Sensores, Contexts, AsyncTask...
GeorgeNunes–NTIGrupoCeuma
Na prática – Coding Dojo
 Criação de dois Projetos Android: um app principal e um app secundário
App principal
 Na MainActivity haverá dois buttons;
 Primeiro button: chamará uma activity que terá um formulário de cadastro
de usuário (nome, email, senha). Deve-se chamar essa activity por meio
de ActivityforResult;
 Ao clicar no button de finalizar cadastro, deve-se voltar para a tela de login
retornando os dados do usuário cadastrado;
 Segundo button: terá a funcionalidade de chamar uma Activity por meio
de um startActivity;
 Nessa nova Activity haverá uma mensagem de boas vindas, o nome do usuário
cadastrado e um button que chamará a Main Activity do app secundário;
App Secundário
 Na MainActivity haverá uma ImageView qualquer;
 A MainActivity deverá estar apta para ser aberta pelo click no ícone e
também pelo uso de intent filter;

Desenvolvimento android p2