SlideShare uma empresa Scribd logo
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
marcio.palheta@gmail.com
sites.google.com/site/marcio
palheta
M.Sc. Márcio Palheta
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

M.Sc. Márcio Palheta

3/35
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:
public void onReceive(Context context,
Intent intent);

●

Para escutar os eventos do device, precisamos pedir
autorização no AndroidManifest
M.Sc. Márcio Palheta

4/35
Exercício 01: Validar Nro de telefone
●

Vamos atualizar a AlunoDAO para consultar se um
determinado número de telefone pertence a um aluno:

M.Sc. Márcio Palheta

5/35
Exercício 01: Validar Nro de telefone
●

Vamos atualizar a AlunoDAO para consultar se um
determinado número de telefone pertence a um aluno:

M.Sc. Márcio Palheta

6/35
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

M.Sc. Márcio Palheta

7/35
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

M.Sc. Márcio Palheta

8/35
Exercício 03: Incluir MP3 no projeto
●

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

M.Sc. Márcio Palheta

9/35
Exercício 03: Incluir MP3 no projeto
●

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

Salve o arquivo
em /res/raw

M.Sc. Márcio Palheta

10/35
Exercício 03: Incluir MP3 no projeto
●

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

Crie a pasta,
caso não exista

Salve o arquivo
em /res/raw

M.Sc. Márcio Palheta

11/35
Exercício 04: SMSReceiver
●

●

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

M.Sc. Márcio Palheta

12/35
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

M.Sc. Márcio Palheta

13/35
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.Sc. Márcio Palheta

14/35
Exercício 04: SMSReceiver
●

●

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

Método de callback
para escutar os
eventos do device

Novo pacote para
nosso listener

Classe filha de
BroadcastReceiver

M.Sc. Márcio Palheta

15/35
Exercício 05: SMSReceiver.onReceive()

M.Sc. Márcio Palheta

16/35
Exercício 05: SMSReceiver.onReceive()
Recuperar dados
do SMS

M.Sc. Márcio Palheta

17/35
Exercício 05: SMSReceiver.onReceive()
Usando o objeto
SmsMessage

M.Sc. Márcio Palheta

18/35
Exercício 05: SMSReceiver.onReceive()
Usando o objeto
SmsMessage

CreateFromPdu() transforma
um [ ]byte em SmsMessage

M.Sc. Márcio Palheta

19/35
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

M.Sc. Márcio Palheta

20/35
Exercício 05: SMSReceiver.onReceive()

Tratar SMS de
um Aluno

M.Sc. Márcio Palheta

21/35
Exercício 05: SMSReceiver.onReceive()

Tratar SMS de
um Aluno
Tocar MP3

M.Sc. Márcio Palheta

22/35
Exercício 06: Autorização de escuta
●

Inclua nosso Receiver no AndroidManifest.xml:

M.Sc. Márcio Palheta

23/35
Exercício 06: Autorização de escuta
●

Inclua nosso Receiver no AndroidManifest.xml:

Definição de um
BroadcastReceiver

M.Sc. Márcio Palheta

24/35
Exercício 06: Autorização de escuta
●

Inclua nosso Receiver no AndroidManifest.xml:

Definição de um
BroadcastReceiver

Nosso Receiver

M.Sc. Márcio Palheta

25/35
Exercício 06: Autorização de escuta
●

Inclua nosso Receiver no AndroidManifest.xml:

Definição de um
BroadcastReceiver

Nosso Receiver

Tipo de evento
escutado

M.Sc. Márcio Palheta

26/35
Exercício 07: SMS no emulador
●

Com o emulador rodando, abra a aba de controle

●

Digite Ctrl+3 e Emulator Control

M.Sc. Márcio Palheta

27/35
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

M.Sc. Márcio Palheta

28/35
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

M.Sc. Márcio Palheta

29/35
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

M.Sc. Márcio Palheta

30/35
Resultado do no emulador
Notificação
do device

M.Sc. Márcio Palheta

31/35
Resultado do no emulador
Notificação
do device

Notificação da App

M.Sc. Márcio Palheta

32/35
O que vem a seguir?
●

Integração via JSON

●

Tarefas assíncronas e Barra de progresso

●

Fragments

●

Google Maps

●

GPS

M.Sc. Márcio Palheta

33/35
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

M.Sc. Márcio Palheta

34/35
Capítulo 09: Serviços em Background

Mais conteúdo relacionado

Mais procurados

Aula 02 fundamentos
Aula 02   fundamentosAula 02   fundamentos
Aula 02 fundamentosfmkoba
 
Dez dicas para_acompanhamento_de_bugs
Dez dicas para_acompanhamento_de_bugsDez dicas para_acompanhamento_de_bugs
Dez dicas para_acompanhamento_de_bugsPaulo Mattos
 
Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1Thyago Maia
 
[Curso Java Basico - Orientacao a Objetos] Aula 25: Classes e metodos simples
[Curso Java Basico - Orientacao a Objetos] Aula 25: Classes e metodos simples[Curso Java Basico - Orientacao a Objetos] Aula 25: Classes e metodos simples
[Curso Java Basico - Orientacao a Objetos] Aula 25: Classes e metodos simplesLoiane Groner
 
Metodologia e Linguagem de Programação Avançada - Aula 1
Metodologia e Linguagem de Programação Avançada - Aula 1Metodologia e Linguagem de Programação Avançada - Aula 1
Metodologia e Linguagem de Programação Avançada - Aula 1Thyago Maia
 
Cobertura - Ferramenta para teste de cobertura
Cobertura - Ferramenta para teste de coberturaCobertura - Ferramenta para teste de cobertura
Cobertura - Ferramenta para teste de coberturaWallaceRoque
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Thyago Maia
 
Algoritmos e Visualg parte 1
Algoritmos e Visualg   parte 1Algoritmos e Visualg   parte 1
Algoritmos e Visualg parte 1Marcio Pinto
 
EMMA - Ferramenta para teste de cobertura
EMMA - Ferramenta para teste de coberturaEMMA - Ferramenta para teste de cobertura
EMMA - Ferramenta para teste de coberturaWallaceRoque
 

Mais procurados (14)

Aula 02 fundamentos
Aula 02   fundamentosAula 02   fundamentos
Aula 02 fundamentos
 
instalacao programa r
instalacao programa rinstalacao programa r
instalacao programa r
 
C# capturando e salvando imagens da web cam
C#   capturando e salvando imagens da web camC#   capturando e salvando imagens da web cam
C# capturando e salvando imagens da web cam
 
Dez dicas para_acompanhamento_de_bugs
Dez dicas para_acompanhamento_de_bugsDez dicas para_acompanhamento_de_bugs
Dez dicas para_acompanhamento_de_bugs
 
Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1
 
Apostila sobre o Visualg
Apostila sobre o VisualgApostila sobre o Visualg
Apostila sobre o Visualg
 
[Curso Java Basico - Orientacao a Objetos] Aula 25: Classes e metodos simples
[Curso Java Basico - Orientacao a Objetos] Aula 25: Classes e metodos simples[Curso Java Basico - Orientacao a Objetos] Aula 25: Classes e metodos simples
[Curso Java Basico - Orientacao a Objetos] Aula 25: Classes e metodos simples
 
Eu Posso Programar
Eu Posso ProgramarEu Posso Programar
Eu Posso Programar
 
Metodologia e Linguagem de Programação Avançada - Aula 1
Metodologia e Linguagem de Programação Avançada - Aula 1Metodologia e Linguagem de Programação Avançada - Aula 1
Metodologia e Linguagem de Programação Avançada - Aula 1
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Cobertura - Ferramenta para teste de cobertura
Cobertura - Ferramenta para teste de coberturaCobertura - Ferramenta para teste de cobertura
Cobertura - Ferramenta para teste de cobertura
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
 
Algoritmos e Visualg parte 1
Algoritmos e Visualg   parte 1Algoritmos e Visualg   parte 1
Algoritmos e Visualg parte 1
 
EMMA - Ferramenta para teste de cobertura
EMMA - Ferramenta para teste de coberturaEMMA - Ferramenta para teste de cobertura
EMMA - Ferramenta para teste de cobertura
 

Destaque

Capítulo 06 - Comunicação entre Activities e Intents Implícitas
Capítulo 06 - Comunicação entre Activities e Intents ImplícitasCapítulo 06 - Comunicação entre Activities e Intents Implícitas
Capítulo 06 - Comunicação entre Activities e Intents ImplícitasMarcio Palheta
 
Capítulo 05 - Menus de Contexto e Exclusão de Aluno
Capítulo 05 - Menus de Contexto e Exclusão de AlunoCapítulo 05 - Menus de Contexto e Exclusão de Aluno
Capítulo 05 - Menus de Contexto e Exclusão de AlunoMarcio Palheta
 
Capítulo 03 - Formulários, menus e navegação entre telas
Capítulo 03 - Formulários, menus e navegação entre telasCapítulo 03 - Formulários, menus e navegação entre telas
Capítulo 03 - Formulários, menus e navegação entre telasMarcio Palheta
 
Introdução ao Python
Introdução ao PythonIntrodução ao Python
Introdução ao PythonMarcio Palheta
 
Capítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldCapítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldMarcio Palheta
 
Capítulo 08 - desenvolvimento de layouts customizados
Capítulo 08 - desenvolvimento de layouts customizadosCapítulo 08 - desenvolvimento de layouts customizados
Capítulo 08 - desenvolvimento de layouts customizadosMarcio Palheta
 

Destaque (6)

Capítulo 06 - Comunicação entre Activities e Intents Implícitas
Capítulo 06 - Comunicação entre Activities e Intents ImplícitasCapítulo 06 - Comunicação entre Activities e Intents Implícitas
Capítulo 06 - Comunicação entre Activities e Intents Implícitas
 
Capítulo 05 - Menus de Contexto e Exclusão de Aluno
Capítulo 05 - Menus de Contexto e Exclusão de AlunoCapítulo 05 - Menus de Contexto e Exclusão de Aluno
Capítulo 05 - Menus de Contexto e Exclusão de Aluno
 
Capítulo 03 - Formulários, menus e navegação entre telas
Capítulo 03 - Formulários, menus e navegação entre telasCapítulo 03 - Formulários, menus e navegação entre telas
Capítulo 03 - Formulários, menus e navegação entre telas
 
Introdução ao Python
Introdução ao PythonIntrodução ao Python
Introdução ao Python
 
Capítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldCapítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorld
 
Capítulo 08 - desenvolvimento de layouts customizados
Capítulo 08 - desenvolvimento de layouts customizadosCapítulo 08 - desenvolvimento de layouts customizados
Capítulo 08 - desenvolvimento de layouts customizados
 

Último

AULA Saúde e tradição-3º Bimestre tscqv.pptx
AULA Saúde e tradição-3º Bimestre tscqv.pptxAULA Saúde e tradição-3º Bimestre tscqv.pptx
AULA Saúde e tradição-3º Bimestre tscqv.pptxGraycyelleCavalcanti
 
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfmanual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfrarakey779
 
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....LuizHenriquedeAlmeid6
 
Junho Violeta - Sugestão de Ações na Igreja
Junho Violeta - Sugestão de Ações na IgrejaJunho Violeta - Sugestão de Ações na Igreja
Junho Violeta - Sugestão de Ações na IgrejaComando Resgatai
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfrarakey779
 
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxSlides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_AssisMemórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assisbrunocali007
 
Instrucoes_A_M_Pranchas_01_a_33_Encadern (4).pdf
Instrucoes_A_M_Pranchas_01_a_33_Encadern (4).pdfInstrucoes_A_M_Pranchas_01_a_33_Encadern (4).pdf
Instrucoes_A_M_Pranchas_01_a_33_Encadern (4).pdfssuserbb4ac2
 
ATPCG 27.05 - Recomposição de aprendizagem.pptx
ATPCG 27.05 - Recomposição de aprendizagem.pptxATPCG 27.05 - Recomposição de aprendizagem.pptx
ATPCG 27.05 - Recomposição de aprendizagem.pptxmairaviani
 
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdfedjailmax
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfLeandroTelesRocha2
 
Recurso da Casa das Ciências: Bateria/Acumulador
Recurso da Casa das Ciências: Bateria/AcumuladorRecurso da Casa das Ciências: Bateria/Acumulador
Recurso da Casa das Ciências: Bateria/AcumuladorCasa Ciências
 
América Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados NacionaisAmérica Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados NacionaisValéria Shoujofan
 
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdfOFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdfAndriaNascimento27
 
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdfCurso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdfLeandroTelesRocha2
 
22-modernismo-5-prosa-de-45.pptxrpnsaaaa
22-modernismo-5-prosa-de-45.pptxrpnsaaaa22-modernismo-5-prosa-de-45.pptxrpnsaaaa
22-modernismo-5-prosa-de-45.pptxrpnsaaaaCarolineFrancielle
 
Apresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao AssédioApresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao Assédioifbauab
 
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxSão Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxMartin M Flynn
 
Exercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfExercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfRILTONNOGUEIRADOSSAN
 
Fotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anosFotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anosbiancaborges0906
 

Último (20)

AULA Saúde e tradição-3º Bimestre tscqv.pptx
AULA Saúde e tradição-3º Bimestre tscqv.pptxAULA Saúde e tradição-3º Bimestre tscqv.pptx
AULA Saúde e tradição-3º Bimestre tscqv.pptx
 
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfmanual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
 
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
 
Junho Violeta - Sugestão de Ações na Igreja
Junho Violeta - Sugestão de Ações na IgrejaJunho Violeta - Sugestão de Ações na Igreja
Junho Violeta - Sugestão de Ações na Igreja
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
 
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxSlides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
 
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_AssisMemórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
 
Instrucoes_A_M_Pranchas_01_a_33_Encadern (4).pdf
Instrucoes_A_M_Pranchas_01_a_33_Encadern (4).pdfInstrucoes_A_M_Pranchas_01_a_33_Encadern (4).pdf
Instrucoes_A_M_Pranchas_01_a_33_Encadern (4).pdf
 
ATPCG 27.05 - Recomposição de aprendizagem.pptx
ATPCG 27.05 - Recomposição de aprendizagem.pptxATPCG 27.05 - Recomposição de aprendizagem.pptx
ATPCG 27.05 - Recomposição de aprendizagem.pptx
 
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
 
Recurso da Casa das Ciências: Bateria/Acumulador
Recurso da Casa das Ciências: Bateria/AcumuladorRecurso da Casa das Ciências: Bateria/Acumulador
Recurso da Casa das Ciências: Bateria/Acumulador
 
América Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados NacionaisAmérica Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados Nacionais
 
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdfOFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
 
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdfCurso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
 
22-modernismo-5-prosa-de-45.pptxrpnsaaaa
22-modernismo-5-prosa-de-45.pptxrpnsaaaa22-modernismo-5-prosa-de-45.pptxrpnsaaaa
22-modernismo-5-prosa-de-45.pptxrpnsaaaa
 
Apresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao AssédioApresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao Assédio
 
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxSão Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
 
Exercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfExercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdf
 
Fotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anosFotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anos
 

Capítulo 09 - Serviços em Background

  • 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 marcio.palheta@gmail.com sites.google.com/site/marcio palheta M.Sc. Márcio Palheta
  • 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 M.Sc. Márcio Palheta 3/35
  • 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: public void onReceive(Context context, Intent intent); ● Para escutar os eventos do device, precisamos pedir autorização no AndroidManifest M.Sc. Márcio Palheta 4/35
  • 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: M.Sc. Márcio Palheta 5/35
  • 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: M.Sc. Márcio Palheta 6/35
  • 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 M.Sc. Márcio Palheta 7/35
  • 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 M.Sc. Márcio Palheta 8/35
  • 9. Exercício 03: Incluir MP3 no projeto ● Salve o arquivo sound.mp3 na pasta /res/raw/: M.Sc. Márcio Palheta 9/35
  • 10. Exercício 03: Incluir MP3 no projeto ● Salve o arquivo sound.mp3 na pasta /res/raw/: Salve o arquivo em /res/raw M.Sc. Márcio Palheta 10/35
  • 11. Exercício 03: Incluir MP3 no projeto ● Salve o arquivo sound.mp3 na pasta /res/raw/: Crie a pasta, caso não exista Salve o arquivo em /res/raw M.Sc. Márcio Palheta 11/35
  • 12. Exercício 04: SMSReceiver ● ● Agora vamos cria a classe responsável por tratar SMSs recebidos de alunos Crie a classe SMSReceiver: M.Sc. Márcio Palheta 12/35
  • 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 M.Sc. Márcio Palheta 13/35
  • 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 M.Sc. Márcio Palheta 14/35
  • 15. Exercício 04: SMSReceiver ● ● Agora vamos cria a classe responsável por tratar SMSs recebidos de alunos Crie a classe SMSReceiver: Método de callback para escutar os eventos do device Novo pacote para nosso listener Classe filha de BroadcastReceiver M.Sc. Márcio Palheta 15/35
  • 17. Exercício 05: SMSReceiver.onReceive() Recuperar dados do SMS M.Sc. Márcio Palheta 17/35
  • 18. Exercício 05: SMSReceiver.onReceive() Usando o objeto SmsMessage M.Sc. Márcio Palheta 18/35
  • 19. Exercício 05: SMSReceiver.onReceive() Usando o objeto SmsMessage CreateFromPdu() transforma um [ ]byte em SmsMessage M.Sc. Márcio Palheta 19/35
  • 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 M.Sc. Márcio Palheta 20/35
  • 21. Exercício 05: SMSReceiver.onReceive() Tratar SMS de um Aluno M.Sc. Márcio Palheta 21/35
  • 22. Exercício 05: SMSReceiver.onReceive() Tratar SMS de um Aluno Tocar MP3 M.Sc. Márcio Palheta 22/35
  • 23. Exercício 06: Autorização de escuta ● Inclua nosso Receiver no AndroidManifest.xml: M.Sc. Márcio Palheta 23/35
  • 24. Exercício 06: Autorização de escuta ● Inclua nosso Receiver no AndroidManifest.xml: Definição de um BroadcastReceiver M.Sc. Márcio Palheta 24/35
  • 25. Exercício 06: Autorização de escuta ● Inclua nosso Receiver no AndroidManifest.xml: Definição de um BroadcastReceiver Nosso Receiver M.Sc. Márcio Palheta 25/35
  • 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 M.Sc. Márcio Palheta 26/35
  • 27. Exercício 07: SMS no emulador ● Com o emulador rodando, abra a aba de controle ● Digite Ctrl+3 e Emulator Control M.Sc. Márcio Palheta 27/35
  • 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 M.Sc. Márcio Palheta 28/35
  • 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 M.Sc. Márcio Palheta 29/35
  • 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 M.Sc. Márcio Palheta 30/35
  • 31. Resultado do no emulador Notificação do device M.Sc. Márcio Palheta 31/35
  • 32. Resultado do no emulador Notificação do device Notificação da App M.Sc. Márcio Palheta 32/35
  • 33. O que vem a seguir? ● Integração via JSON ● Tarefas assíncronas e Barra de progresso ● Fragments ● Google Maps ● GPS M.Sc. Márcio Palheta 33/35
  • 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 M.Sc. Márcio Palheta 34/35
  • 35. Capítulo 09: Serviços em Background