• Nenhum resultado encontrado

Capítulo 09: Serviços em Background

N/A
N/A
Protected

Academic year: 2022

Share "Capítulo 09: Serviços em Background"

Copied!
35
0
0

Texto

(1)

Capítulo 09: Serviços em Background

(2)

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

(3)

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

(4)

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);

(5)

Exercício 01: Validar Nro de telefone

Vamos atualizar a AlunoDAO para consultar se um

determinado número de telefone pertence a um aluno:

(6)

Exercício 01: Validar Nro de telefone

Vamos atualizar a AlunoDAO para consultar se um

determinado número de telefone pertence a um aluno:

(7)

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

(8)

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

(9)

Exercício 03: Incluir MP3 no projeto

Salve o arquivo sound.mp3 na pasta /res/raw/:

(10)

Exercício 03: Incluir MP3 no projeto

Salve o arquivo sound.mp3 na pasta /res/raw/:

Salve o arquivo

em /res/raw

(11)

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

(12)

Exercício 04: SMSReceiver

Agora vamos cria a classe responsável por tratar SMSs recebidos de alunos

Crie a classe SMSReceiver:

(13)

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

(14)

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

(15)

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

(16)

Exercício 05: SMSReceiver.onReceive()

(17)

Exercício 05: SMSReceiver.onReceive() Recuperar dados

do SMS

(18)

Exercício 05: SMSReceiver.onReceive()

Usando o objeto

SmsMessage

(19)

Exercício 05: SMSReceiver.onReceive()

Usando o objeto SmsMessage

CreateFromPdu() transforma

um [ ]byte em SmsMessage

(20)

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

(21)

Exercício 05: SMSReceiver.onReceive()

Tratar SMS de

um Aluno

(22)

Exercício 05: SMSReceiver.onReceive()

Tratar SMS de um Aluno

Tocar MP3

(23)

Exercício 06: Autorização de escuta

Inclua nosso Receiver no AndroidManifest.xml:

(24)

Exercício 06: Autorização de escuta

Inclua nosso Receiver no AndroidManifest.xml:

Definição de um

BroadcastReceiver

(25)

Exercício 06: Autorização de escuta

Inclua nosso Receiver no AndroidManifest.xml:

Definição de um

BroadcastReceiver Nosso Receiver

(26)

Exercício 06: Autorização de escuta

Inclua nosso Receiver no AndroidManifest.xml:

Definição de um

BroadcastReceiver Nosso Receiver

Tipo de evento

escutado

(27)

Exercício 07: SMS no emulador

Com o emulador rodando, abra a aba de controle

Digite Ctrl+3 e Emulator Control

(28)

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

(29)

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

(30)

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

(31)

Resultado do no emulador

Notificação

do device

(32)

Resultado do no emulador

Notificação da App Notificação

do device

(33)

O que vem a seguir?

Integração via JSON

Tarefas assíncronas e Barra de progresso

Fragments

Google Maps

GPS

(34)

Referências

www.caelum.com.br

d.android.com

LECHETA, Ricardo. Google Android, 3a edição, Novatec, São Paulo, 2013

Código fonte completo:

https://github.com/marciopalheta/cursosandroid

(35)

Capítulo 09: Serviços em Background

Referências

Documentos relacionados

• Para cada interface de Listener que contenha mais do que um método, defina uma classe adapter que implemente a interface por. inteiro com métodos que

Por isso, o mesmo mostrou-se completamente disposto para realização das extrações dentárias superiores e instalação de implantes osseointegrados na maxila com prótese de arco

No Cadastro do Item em 2 Relacionamentos, em 7 Composição, na aba Serviços (O.S.M.) foi incluída a opção para indicar a importação de Serviços lançados na composição de

As medidas no-regret se caracterizam por escolhas de caráter mais assertivo. Isso significa que essas medidas, identificadas como custo- benéficas nos diferentes

public static void SetChineseUnderline ( byte ChineseUnderlineEn); Alcance: 0  ChineseUnderlineEn  2, 48  ChineseUnderlineEn  50 Descrição: Ativa

Por conseguinte, um conjunto de fenómenos políticos complexos como a instauração e edificação do fascismo em Portugal, corporizado na figura política do regime do Estado Novo,

Neste trabalho contamos um pouco da história do Teorema de Green e de George Green embora tenha-se pouco sobre a vida pessoal deste grande matemático e físico inglês

Ao longo destes anos de existência da empresa, não se verificam grandes oscilações no número de  colaboradores  dependentes,  o  que  significa  que  apesar