SlideShare una empresa de Scribd logo
1 de 26
Marcelo Quinta
Triangulum Soluções
@mrquinta
Utilizando Bluetooth
com Android para
Games
https://www.facebook.com/triangulumsolucoes
Antes de começar
Google Play Game Service
Cloud save
Troféus, amigos,
Integração com o Google+
Não é obrigatório aos jogos
Antes de começar
Google Play Game Service
Suporte ao iOS e Web
Partidas cross-plataform
Enfim, é igual ao Game Service da Apple
Monitoramento da pirataria
Android 2.2+
Antes de começar
E se...
In-house gaming
Interação
Não tem internet?
Bora jogar do mesmo jeito!
Suporte off-line?
SharedPreferences e SQLite
Conversa entre dispositivos!
E uma boa notícia
Android suportará o Bluetooth Smart (Low Energy)
Sem-fio de verdade?
Bluetooth API
Obrigatório desde a versão 2.0
Funcionalidades
Procurar outros dispositivos
Fazer requisições a dispositivos pareados
Estabelecimento de conexões RFCOMM
Conectar-se a outro dispositivo desconhecido
Transferir dados
Gerenciar múltiplas conexões
Classes principais
Bluetooth Adapter
É a classe pela qual você irá ter acesso de entrada aos serviços
da API
Descobrir dispositivos e instanciar um BluetoothDevice
BluetoothDevice
Usando um endereço MAC, podemos instanciá-lo e
comunicar-se com outros através de um
BluetoothServerSocket ou BluetoothServerSocket
Classes principais
Bluetooth Server Socket
Bluetooth Class
Bluetooth Profile
Bluetooth Headset
Bluetooth A2DP
...
Comece colocando a permissão
android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
Criação do Bluetooth
Passo 1: Inicializar o BluetoothAdapter
Passo 2: Ligar o Bluetooth
Criação do Bluetooth
Passo 3: Encontrando dispositivos
Dispositivos pareados
Novos dispositivos (Fuck Motorola!)
Dispositivos pareados
Descobrindo dispositivos
cancelDiscovery()
Mas ele precisa estar disponível
Conectando os dispositivos
Iniciar o servidor como um BluetoothServerSocket
UUID
Faça as conexões
Ou feche tudo
Conectando os dispositivos
Como cliente
Primeiro faça o pareamento
Depois faça a conexão com aquele serviço definido pelo server
E chame o connect
Seja feliz!
Sockets
Internet das coisas
Bluetooth Profile
Headset
A2DP
Health Device
#ProTips (já me ferrei muito)
Versão 2.2 do Android ainda dá muito pau
Reconexão é um problema
Sempre vai ter n+1 dispositivos ligados na rede
Faça um sistema de reconexão
Threads, Threads, Threads!
Quer aprender?
http://developer.android.com/guide/topics/connectivity/bluetooth.html
FIM

Más contenido relacionado

Más de Marcelo Quinta

O que há de novo nas Android Support Libraries
O que há de novo nas Android Support LibrariesO que há de novo nas Android Support Libraries
O que há de novo nas Android Support LibrariesMarcelo Quinta
 
Dicas de otimização e planejamento de apps para o mercado brasileiro
Dicas de otimização e planejamento de apps para o mercado brasileiroDicas de otimização e planejamento de apps para o mercado brasileiro
Dicas de otimização e planejamento de apps para o mercado brasileiroMarcelo Quinta
 
Bibliotecas Google para iOS: Fanboy é a sua vó
Bibliotecas Google para iOS: Fanboy é a sua vóBibliotecas Google para iOS: Fanboy é a sua vó
Bibliotecas Google para iOS: Fanboy é a sua vóMarcelo Quinta
 
Games and Java ME - Have fun and earn some money
Games and Java ME - Have fun and earn some moneyGames and Java ME - Have fun and earn some money
Games and Java ME - Have fun and earn some moneyMarcelo Quinta
 
iOS no TDC Florianópolis
iOS no TDC FlorianópolisiOS no TDC Florianópolis
iOS no TDC FlorianópolisMarcelo Quinta
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robóticaMarcelo Quinta
 
Desenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisDesenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisMarcelo Quinta
 

Más de Marcelo Quinta (11)

O que há de novo nas Android Support Libraries
O que há de novo nas Android Support LibrariesO que há de novo nas Android Support Libraries
O que há de novo nas Android Support Libraries
 
Dicas de otimização e planejamento de apps para o mercado brasileiro
Dicas de otimização e planejamento de apps para o mercado brasileiroDicas de otimização e planejamento de apps para o mercado brasileiro
Dicas de otimização e planejamento de apps para o mercado brasileiro
 
Bibliotecas Google para iOS: Fanboy é a sua vó
Bibliotecas Google para iOS: Fanboy é a sua vóBibliotecas Google para iOS: Fanboy é a sua vó
Bibliotecas Google para iOS: Fanboy é a sua vó
 
Mobile
MobileMobile
Mobile
 
Games and Java ME - Have fun and earn some money
Games and Java ME - Have fun and earn some moneyGames and Java ME - Have fun and earn some money
Games and Java ME - Have fun and earn some money
 
iOS no TDC Florianópolis
iOS no TDC FlorianópolisiOS no TDC Florianópolis
iOS no TDC Florianópolis
 
Jquery Mobile
Jquery MobileJquery Mobile
Jquery Mobile
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robótica
 
Ria e Java FX
Ria e Java FXRia e Java FX
Ria e Java FX
 
Desenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisDesenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveis
 
Hello World JavaFX
Hello World JavaFXHello World JavaFX
Hello World JavaFX
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Último (6)

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Android bluetooth