Capítulo 09: Serviços em Background
Instrutor
●
Programador desde 2000
●
Aluno de doutorado
●
Mestre em informática pelo ICOMP/UFAM
●
Especialista em aplicações WEB – FUCAPI
●
[email protected]
●
sites.google.com/site/marcio
Agenda
●
Na estrada, até aqui
●
Escutando eventos do Android, externos à App
●
Autorização para escutar o recebimento de SMS
●
Listener customizado com BroadcastReceiver
●
Receber SMS
●
Tocar MP3
Serviços em Background
●
Agora, queremos incrementar nossa App, avisando ao usuário sempre que chegar um SMS de um Aluno
●
Para “escutar” o recebimento de SMSs, podemos usar a classe abstrata android.content.BroadcastReceiver
●
Essa classe especialista possui um método de callback abstrato que escuta eventos do device:
●
Para escutar os eventos do device, precisamos pedir
public void onReceive(Context context,
Intent intent);
Exercício 01: Validar Nro de telefone
●
Vamos atualizar a AlunoDAO para consultar se um
determinado número de telefone pertence a um aluno:
Exercício 01: Validar Nro de telefone
●
Vamos atualizar a AlunoDAO para consultar se um
determinado número de telefone pertence a um aluno:
Exercício 02: Baixar arquivo de música
●
Além de avisar quando chegar o SMS de um Aluno, queremos tocar um arquivo MP3
●
Para isso, vamos baixar o arquivo sound.mp3
●
https://github.com/marciopalheta/cursosandroid/tree/maste
r/CadastroAluno/res/raw
Exercício 02: Baixar arquivo de música
●
Além de avisar quando chegar o SMS de um Aluno, queremos tocar um arquivo MP3
●
Para isso, vamos baixar o arquivo sound.mp3
●
https://github.com/marciopalheta/cursosandroid/tree/maste r/CadastroAluno/res/raw
Baixe o arquivo
sound.mp3
Exercício 03: Incluir MP3 no projeto
●
Salve o arquivo sound.mp3 na pasta /res/raw/:
Exercício 03: Incluir MP3 no projeto
●
Salve o arquivo sound.mp3 na pasta /res/raw/:
Salve o arquivo
em /res/raw
Exercício 03: Incluir MP3 no projeto
●
Salve o arquivo sound.mp3 na pasta /res/raw/:
Salve o arquivo em /res/raw Crie a pasta,
caso não exista
Exercício 04: SMSReceiver
●
Agora vamos cria a classe responsável por tratar SMSs recebidos de alunos
●
Crie a classe SMSReceiver:
Exercício 04: SMSReceiver
●
Agora vamos cria a classe responsável por tratar SMSs recebidos de alunos
●
Crie a classe SMSReceiver: Novo pacote para
nosso listener
Exercício 04: SMSReceiver
●
Agora vamos cria a classe responsável por tratar SMSs recebidos de alunos
●
Crie a classe SMSReceiver: Novo pacote para nosso listener Classe filha de
BroadcastReceiver
Exercício 04: SMSReceiver
●
Agora vamos cria a classe responsável por tratar SMSs recebidos de alunos
●
Crie a classe SMSReceiver: Novo pacote para nosso listener
Classe filha de BroadcastReceiver Método de callback
para escutar os
eventos do device
Exercício 05: SMSReceiver.onReceive()
Exercício 05: SMSReceiver.onReceive() Recuperar dados
do SMS
Exercício 05: SMSReceiver.onReceive()
Usando o objeto
SmsMessage
Exercício 05: SMSReceiver.onReceive()
Usando o objeto SmsMessage
CreateFromPdu() transforma
um [ ]byte em SmsMessage
Exercício 05: SMSReceiver.onReceive()
Usando o objeto SmsMessage
CreateFromPdu() transforma um [ ]byte em SmsMessage
getDisplayOriginatingAddress() retorna o número do telefone
remetente da mensagem
Exercício 05: SMSReceiver.onReceive()
Tratar SMS de
um Aluno
Exercício 05: SMSReceiver.onReceive()
Tratar SMS de um Aluno
Tocar MP3
Exercício 06: Autorização de escuta
●
Inclua nosso Receiver no AndroidManifest.xml:
Exercício 06: Autorização de escuta
●
Inclua nosso Receiver no AndroidManifest.xml:
Definição de um
BroadcastReceiver
Exercício 06: Autorização de escuta
●
Inclua nosso Receiver no AndroidManifest.xml:
Definição de um
BroadcastReceiver Nosso Receiver
Exercício 06: Autorização de escuta
●
Inclua nosso Receiver no AndroidManifest.xml:
Definição de um
BroadcastReceiver Nosso Receiver
Tipo de evento
escutado
Exercício 07: SMS no emulador
●
Com o emulador rodando, abra a aba de controle
●
Digite Ctrl+3 e Emulator Control
Exercício 07: SMS no emulador
●
Com o emulador rodando, abra a aba de controle
●
Digite Ctrl+3 e Emulator Control
Informe o número de
telefone de um Aluno
Exercício 07: SMS no emulador
●
Com o emulador rodando, abra a aba de controle
●
Digite Ctrl+3 e Emulator Control
Informe o número de telefone de um Aluno
Selecione o envio de SMS
e informe a mensagem
Exercício 07: SMS no emulador
●
Com o emulador rodando, abra a aba de controle
●
Digite Ctrl+3 e Emulator Control
Informe o número de telefone de um Aluno
Selecione o envio de SMS e informe a mensagem
Enviar SMS
para o emulador
Resultado do no emulador
Notificação
do device
Resultado do no emulador
Notificação da App Notificação
do device
O que vem a seguir?
●
Integração via JSON
●
Tarefas assíncronas e Barra de progresso
●
Fragments
●
Google Maps
●
GPS
Referências
●
www.caelum.com.br
●
d.android.com
●
LECHETA, Ricardo. Google Android, 3a edição, Novatec, São Paulo, 2013
●