Prof. Filipe Nunes Ribeiro
COMPUTAÇÃO MÓVEL
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
Computação Ubíqua
Computação Ubíqua????
COMPUTAÇÃO UBÍQUA
Mark Weiser – pai da computação ubíqua
The Computer for the 21st Century (final da
década de 80)
“fazer com que vários computadores estejam
disponíveis por todo o ambiente físico de maneira
efetivamente invisível ao usuário”
Weiser vislumbrava a presença de computadores em
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
COMPUTAÇÃO UBÍQUA
Após duas ondas da computação:
Primeira Onda – Grandes computadores (mainframes) –
COMPUTAÇÃO UBÍQUA
Segunda Onda (80's-90-s)
Circuitos integrados
Computadores Pessoais
Computadores conectados à
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
COMPUTAÇÃO UBÍQUA
Terceira Onda – Computação Móvel (90's-00's)
Laptops
Pequenos dispositivos
por pessoa
WLAN's
Boom da Internet
Foto: Gavilan SC → primeiro dispositivo chamado de
laptop
•
Possuía suporte a uma linguagem de
programação e programas de escritório
COMPUTAÇÃO UBÍQUA
Fourth Wave Computing – “quarta onda” da
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
COMPUTAÇÃO UBÍQUA
Ubíquo = onipresente
Analogia: Motores
Há cerca de 100 anos atrás
Grande inovação tecnológica - um único motor para acionar
dezenas de ferramentas e máquinas
Hoje
Motores são artigos baratos a ponto de diferentes utilitários
conterem um motor próprio (secador de cabelos, aspirador
de pó) ou vários (automóvel)
COMPUTAÇÃO UBÍQUA
Dispositivos computacionais cada vez mais baratos
Tag RFID (Radio Frequency Identification)
Produtos de supermercados
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
COMPUTAÇÃO UBÍQUA
COMPUTAÇÃO UBÍQUA
Computador onipresente?
Capacidade computacional em todo lugar,
embarcadas no ambiente a ponto de poderem
ser usadas sem serem notadas!
A utilização do poder computacional deve ser
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
COMPUTAÇÃO UBÍQUA
Realidade Virtual x Computação Ubíqua – Não
confunda
Realidade Virtual: colocar o homem no mundo virtual
Computação Ubíqua: inserir a computação no cotidiano
COMPUTAÇÃO UBÍQUA
Computação Pervasiva X Ubíqua X Móvel
Pervasiva: computador embarcado no ambiente de
forma invisível para o usuário
Móvel: mover fisicamente serviços computacionais
Ubíqua: integração da mobilidade com a
funcionalidade da computação pervasiva.
Computação pervasiva Computação móvel Computação ubíqua
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
EXEMPLOS
EXEMPLOS
SmartShirt System
Tecido possui sensores, microfones e fibras óticas
Mede sinais vitais 24 horas por dia
Transmite informações para uma rede local sem fio,
satélite ou sistema de telefonia convencional
Informações são enviadas para centro de análises
clínicas que monitora a saúde do usuário
Alterações bruscas dos sinais acionam alarme no
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
EXEMPLOS
EXEMPLOS
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
EXEMPLOS
Linhas de pesquisa na Computação Ubíqua
Dados Ubíquos
–
Confiabilidade dos dados
•
É possível permitir que um Sistema Ubicomp seja o
controlador do acesso aos vôos em um aeroporto?
–
Privacidade
•
Até que ponto tais sistemas poderão coletar
informações?
Computação Ciente de Contexto
–
Área de pesquisa na qual os sistemas são capazes de
adaptar seu comportamento com base na obtenção de
informações importantes sobre entidades (pessoas, lugares,
objetos.
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
Desafios da Computação Ubíqua
Questões econômicas
–
Quem pagará e quem irá gerir os sistemas ubicomp?
–
Existem muitos conflitos de interesses
Programação para sistemas ubicomp
–
Desenvolvimento de aplicações que se adaptem ao
ambiente em constante mudança
Redução de carga de infraestrutura
–
A dependência de infraestrutura de comunicação, obtenção
de dados e compartilhamento de recursos dificulta a
execução de apps ubicomp
–
P2P (MANET's VANET's)
CIÊNCIA DE CONTEXTO
Five W’s
Who
Quem?
What
O Quê?
Where
Onde?
When
Quando?
Why
Porque?
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
CIÊNCIA DE CONTEXTO - EXEMPLO
CIÊNCIA DE CONTEXTO
Atores: Médicos, enfermeiros, pacientes
Ações:
Verificar prontuário
Chamar médico ou enfermeira para uma
emergência
Armazenar movimentações
Encontrar médico mais próximo a uma
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
CIÊNCIA DE CONTEXTO - EXEMPLO
Elementos Contextuais para o caso
Identidade
Localização
Tarefa Realizada
Direito de Acesso
CIÊNCIA DE CONTEXTO - LOCALIZAÇÃO
Nova classe de aplicações
Location Based Services – Serviços Baseados
em Localização
Utilização das informações de localização dos
usuários para oferecer serviços personalizados
Google Maps Mobile
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
SERVIÇOS BASEADOS EM LOCALIZAÇÃO
Para celulares
Enhanced 911
Técnicas de Localização
Cell-id
Triangulação do sinal
GPS
A-GPS
SERVIÇOS BASEADOS EM LOCALIZAÇÃO
Localização de pontos de interesse mais próximo
(restaurantes, farmácias, etc)
Recebimento de alertas
Mensagem com preço de ofertas de um
supermercado
Localização de amigos, parentes e funcionários de uma
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
SERVIÇOS BASEADOS EM LOCALIZAÇÃO
Privacidade do usuário (importante levar em
consideração)
Ex: Se o usuário buscar pelo celular a
localização da clínica mais próxima de
atendimento à pacientes soropositivo.
Pode-se inferir que o usuário seja soropositivo
Usar a informação para extorsão ou algum
GOOGLE RASTREIA QUEM TEM ANDROID
●http://www.techtudo.com.br/dicasetutoriais/noticia/201
3/12/historicodelocalizacaodogooglemapsmostrapor
vocejapassouveja.html
●Histórico de Localização do Google Maps mostra por
onde você já passou
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
GOOGLE RASTREIA QUEM TEM ANDROID
OUTRA DEFINIÇÃO DE COMPUTAÇÃO MÓVEL
●Mateus, G., R., e Loureiro, A. A. F. (2005 – Introdução à
Computação Móvel)
–
Computação móvel é um novo paradigma computacional
que tem como objetivo prover ao usuário acesso
permanente a uma rede fixa ou móvel independente de
sua posição física
–
Sinônimo de Computação Ubíqua ou Computação Nômade
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
OUTRA DEFINIÇÃO DE COMPUTAÇÃO MÓVEL
●Importante diferença entre computação móvel e os
paradigmas anteriores
–
Interação entre a Comp. Móvel e as diversas áreas da Ciência
da Computação
●Não lida apenas com Sistemas Distribuídos e Redes de
Computadores
–
Projeto de circuitos Integrados deve ser feito levando em
consideração consumo de energia
–
SO's devem possuir outras funções de gerenciamento específicas
para dispositivos móveis com capacidades físicas limitadas
–
Compiladores
–
BD's
–
Eng. de Software
DISPOSITIVOS NA COMPUTAÇÃO MÓVEL
Sensores
RFID
Weareable Devices
Dispositivos de Acesso à informação
Celulares
PDA`s
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
DISPOSITIVOS - SENSORES
Dispositivos capazes de obter informações do meio em que
se encontram.
São dispositivos que mudam seu comportamento sob a ação
de uma grandeza física podendo fornecer diretamente ou
indiretamente um sinal que indica esta grandeza
DISPOSITIVOS - SENSORES
Sensores de:
Calor
Movimento
Proximidade
Temperatura
Radiação
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
DISPOSITIVOS - SENSORES
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
DISPOSITIVOS - RFID
Identificação por Rádio Frequência (
Radio Frequency
Identification
)
Etiqueta que utiliza ondas de rádio para transmitir
dados
A etiqueta possui uma antena e um microchip
Não requer contato visual
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
DISPOSITIVOS - RFID
● Etiqueta entra no campo da RF
● Sinal RF energiza a etiqueta
● Etiqueta transmite ID mais dados
● Leitora captura dados e envia ao computador
● Computador determina ação
● Computador instrui leitora
DISPOSITIVOS - RFID
1 Sem parar: pagamento do
pedágio acionado
2 Gerenciamento: depósitos
atualizam estoque
3 Prateleiras inteligentes:
constantemente em contato com a
rede sem fio
4 Etiquetas: diferentemente dos
códigos de barra
5 Chave RFID: imobilizador
antifurto
6 Assistente de compras: escaneia
itens durante a compra para acelerar
a saída
7 Autocaixa
8 Carrinho: um leitor na porta do
mercado
9 Identificação pessoal: o controle
de passaportes dos EUA irá adotar
RFID
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
DISPOSITIVOS - WEARABLE
DISPOSITIVOS DE ACESSO À INFORMAÇÃO
Laptops
Celulares
Tablets
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
COMPUTAÇÃO UBÍQUA
Poder de processamento cada vez maior em dispositivos
portáteis (smartphones e tablets).
COMPUTAÇÃO UBÍQUA
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
E JAVA MICRO EDITION (JAVAME)?
Escreva uma vez, execute em qualquer lugar? (Write once,
run Everywhere)
Na prática não é verdade
Celulares com capacidades distintas
Bluetooth
Wi-fi
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID - HISTÓRICO
Semanas antes do lançamento da SDK do Android,
disseminaram-se rumores do Google Phone.
Imaginou-se que um celular fabricado pelo Google
seria lançado
ANDROID - HISTÓRICO
… Mas
No dia 5 de novembro de 2007, Andy Rubin, diretor da
divisão mobile da
anunciou:
“A plataforma Android é muito mais significante e
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID
Plataforma do
voltada para dispositivos móveis
(juntamente com a Open Handset Alliance)
Primeira
plataforma Open Source de
ANDROID
Novembro de 2007 Google anunciou a criação da
Open Handset Alliance e disponibilizou a primeira
versão beta da Android Software Development kit
(SDK)
Em poucos meses mais de um milhão de downloads da
SDK já tinham sido realizados
Setembro de 2008 Lançamento do G1 – primeiro
telefone Android
Quase um milhão de aparelhos vendidos até o fim do
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
OPEN HANDSET ALLIANCE
OPEN HANDSET ALLIANCE
“A aliança tem um objetivo comum de promover a
inovação em dispositivos móveis
e oferecer aos
usuários uma
experiência de utilização
muito melhor
do que a disponível nas plataformas atuais. Ao oferecer
aos desenvolvedores um novo nível de abertura que
possibilite o
trabalho colaborativo
, o Android acelerará
o ritmo em que
novos
e
atraentes
serviços móveis
são
colocados à disposição dos consumidores.”
Fonte:
http://www.openhandsetalliance.com/press_110507.ht
ml
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
POR QUE ANDROID ????
Algumas razões
Minimização da fragmentação (JME)
SuporteMashups caso da empresa que
deseja monitorar seus funcionários que
trabalham na rua.
Na maioria das outras plataformas o
desenvolvedor deve construir toda a
aplicação por si só.
Aplicações intercambiáveis (emails, players de
POR QUE ANDROID ????
Mais Algumas razões
Quantidade de aparelhos produzidos e vendidos
Mercado de aplicativos (Google Play)
Java
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
POR QUE ANDROID ???
–
As previsões parecem indicar que Android dominará o
mercado de smartphones em pouco tempo
●
Telefones com Android já representam 64% das vendas de
smartphones
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
NOTÍCIAS RECENTES
●Blog oficial do Google ( Fevereiro de 2011)
●300 million activated Android devices
●800,000 new Android devices activated every day
●450,000 free and paid applications available in Android
Market
–Fonte:
–http://mashable.com/2012/02/27/androiddailyactivations/
NOTÍCIAS RECENTES
●Ativações Android superam 800 mil por dia
(Fevereiro/2011)
–
Fevereiro/2012 800 mil
–
Maio/2011 400 mil
–
Dezembro/2010 300 mil
●Fonte:
http://www.ipnews.com.br/telefoniaip/index.php?option=co
m_content&view=article&id=21523:ativacoesdoandroidpas
samde500milpordia&catid=25:casosdesucesso&Itemid=
458
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
NOTÍCIAS RECENTES
●Ativações Android (Setembro/2012)
–
480 milhões de aparelhos Android
–
1.3 milhões de ativações diárias
●(70 mil Tablets) "We were late to them", notes Schmidt
–
Aplicações: Google atinge marca de 700.000 apps
●Marca aproxima Google Play da quantidade de apps disponíveis
na Apple Store (30/10/2012)
●Fontes:
http://www.engadget.com/2012/09/05/googleceo13millionandroidacti
vationsaday/
http://exame.abril.com.br/tecnologia/android/noticias/googleplayatinge
marcade700milappsdizgoogle
NOTÍCIAS RECENTES
●Ativações Android (Julho/2013)
–
1 Bilhão de dispositivos rodando Android
–
1.5 milhões de ativações diárias
–
Aplicações: Google atinge marca de 1.000.000 apps
●Google Play supera a quantidade de apps disponíveis na Apple Store
(07/2013)
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
NOTÍCIAS RECENTES
NOTÍCIAS RECENTES
–
Apps do Android rodarão nos aparelhos BlackBerry
●Aproximação da RIM com a Google
●Modelos lançados em 2012 serão compatíveis com aplicativos Android
●Tecnologia QNX permitirá a integração
–SO com características diferenciadas
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
NOTÍCIAS RECENTES
●Repackage your Android apps for BlackBerry
Playbook
●https://bdsc.webapps.blackberry.com/android/
●You can use the BlackBerry Runtime for Android apps to
run Android 2.3.3 platform applications on
theBlackBerry Tablet OS and BlackBerry 10. To use the
runtime, you must first repackage
your Androidapplications to BAR file format, which is
the compatible file format required for an application to
run on the BlackBerry Tablet OS and BlackBerry 10.
●
Google play supera Apple Store (Julho/2013)
–
Google Play: 1.000.000
–
Apple Store: 900.000
Fonte:
http://www.phonearena.com/news/AndroidsGooglePlaybeat
sAppStorewithover1millionappsnowofficiallylargest_i
d45680
GOOGLE PLAY SUPERA APPLE STORE
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
GOOGLE PLAY SUPERA APPLE STORE
Google remove aplicações em geral uma vez por
semestre. Muitas vezes as aplicações removidas são
aquelas marcadas como baixa qualidade pelo AppBrain
Fonte:
http://www.appbrain.com/stats/numberofandroidapps
LUCRO DIÁRIO COM AS 200 APLICAÇÕES
MAIS VENDIDAS
●Jun/2013 a Dez/13
–
Dez/2013 $18 mi para Apple e $12 mi para Android
–
Fonte:
http://www.forbes.com/sites/chuckjones/2013/12/19/googleplaycatching
uptoapplesappstore/
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
VENDAS DE SMARTPHONES POR FABRICANTE
●
Fonte: Garner.com (Empresa de consultoria e pesquisa
PREVISÃO PARA OS PRÓXIMOS ANOS
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
PREVISÃO DE VENDAS DE DISPOSITIVOS
ANDROID PARA 2014
●Android Shipments To Top 1.1 Billion In 2014, Gartner
Predicts
●Fonte:
http://www.siliconbeat.com/2014/01/07/androidshipmentst
otop11billionin2014gartnerpredicts/
EXISTEM PROBLEMAS?
●Google compra a Motorola / Passado superado
–
“CEO da Nokia diz que compra da Motorola traz riscos para o
Android”
●“vejo sinais de perigo pela frente”
●Demais fabricantes (Samsung, HTC, Sony Ericson) podem se sentir
traídos
–Fonte:
http://www.publico.pt/Tecnologia/ceodanokiadizquecompradamotorol
apoeandroidemrisco_1508191
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
EXISTEM PROBLEMAS?
●Grupo que inclui Apple e Microsoft comprar Novell e
Nortel
–
Cobrar $15,00 por cada aparelho Android vendido – celulares
mais caros
–
Atualmente nada é pago à Google
–
Processar fabricantes (HTC, Samsung, etc)
–Fonte:
http://googleblog.blogspot.com/2011/08/whenpatentsattackandroid.html
#udssearchresults
EXISTEM PROBLEMAS?
●Fragmentação
–
Cada fabricante adapta o código Android para seus dispositivos
→
UI, gerar builds para operadoras, etc.
–
Após uma atualização Android demorase muito tempo até ela
estar disponível ao usuário
–
No Google I/O de 2013 o Google apresentou um novo conceito
●Google Play Services
–Processo em nível de sistema que tem acesso a todo o “baixo nível” do
Android e pode atualizar sem necessidade do Google Play (background)
Fonte:
(http://arstechnica.com/gadgets/2013/09/balkycarriersandslowo
emsstepasidegoogleisdefraggingandroid/)
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID – O QUE É?
●Android é uma pilha de software para dispositivos
móveis que inclui um sistema operacional, um
middleware e aplicações chaves. O kit de
desenvolvimento (Android SKD oferece ferramentas e
API`s necessárias para se iniciar o desenvolvimento de
aplicações para plataforma usando a linguagem de
programação Java).
Fonte:
http://developer.android.com/guide/basics/whatisandroi
d.html
ANDROID – O QUE É?
●Android é a nova plataforma de desenvolvimento para
aplicativos móveis como smartphones e contêm um
sistema operacional baseado em Linux, uma interface
visual rica, GPS, diversas aplicações já instaladas e
ainda um ambiente de desenvolvimento poderoso,
inovador e flexível.
Fonte: Lecheta (2010)
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID CURIOSIDADE
●Android Developer Challenge
–
14/04/2008 – prazo para enviar aplicações
–
10 milhões de dólares em prêmios
–
Apenas emulador (Não existia nenhum celular Android)
–
Foi possível testar e a SDK Android e consolidar o produto
–
Top 50 aplicações
–
http://androiddevelopers.blogspot.com/2008/05/top50applicati
ons.html
Brasileiro:
App: TeraDesk José Augusto Athayde Ferrarini
PRIMEIRO TELEFONE ANDROID
●HTC G1
–
TMobile
–
22 de outubro de 2009
–
US$ 179
●Emulador online
–
http://tmobile.modeaondemand.com/htc/g1/
–
Clicar em “Emulator”
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
GOOGLE PLAY
●Local para desenvolvedores disponibilizarem suas
aplicações
–
Taxa de $25,00
–
Concordar com termos de uso
–
70% dos lucros para o desenvolvedor
–
https://play.google.com/apps/publish/signup/
●Local para usuários baixarem aplicações
–
Aplicações grátis e pagas
–
Comentários de usuários
–
Avaliação (Rating)
●https://play.google.com/store
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID BENEFICIADOS
●Fabricantes
–
Plataforma única e consolidada
●Livre e código fonte aberto (contribuição)
●Permite que o fabricante realize alterações
–Motorola (MotoBlur)
–Sony Ericson (UX – “User eXperience”)
–Samsung (TouchWiz)
ANDROID BENEFICIADOS
●Usuários
–
Usabilidade
–
Aplicações
–
Novas utilidades
●Desenvolvedores
–
Plataforma moderna
–
Muitos recursos
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID – KERNEL LINUX
●A plataforma android é baseada no kernel de linux
versão 2.6.
–
Segurança
–
Gerência de memória
–
Gerência de processos
–
Pilha de rede
–
Modelo de drivers
●O kernel também age como uma camada de abstração
entre o hardware e o restante da pilha de software.
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID BIBLIOTECAS
●Conjunto de bibliotecas C/C++ utilizados por vários
componentes do Android. São disponibilizadas pelo
desenvolvedor através do framework para aplicações
Android
–
Media
–
Gerência de tela (camadas 2D e 3D)
–
SQLite
–
3D
–
etc
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID – FRAMEWORK PARA APLICAÇÕES
●API para suporte ao desenvolvimento de aplicações.
–
Acesso ao hardware
–
Acesso às informações de localização
–
Executar serviços em background
–
Configurar alarmes
–
Adicionar notificações para o usuário
–
etc
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID – ANDROID RUNTIME
●
Contém Bibliotecas núcleo (core libraries) da linguagem
de programação Java.
●
Cada aplicação Java roda seu próprio processo com uma
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID ANDROID RUNTIME
●Dalvik Virtual Machine
–
Otimizada para requerer pouca memória
–
Permite que múltiplas instâncias da máquina virtual rodem
simultaneamente
●Deixa para o sistema operacional o isolamento de processos, o
gerenciamento de memória e o suporte a threading.
ANDROID ANDROID RUNTIME
●Dalvik Virtual Machine
–
Frequentemente chamada de máquina virutal java (JVM)
●Não é 100% correto
●Bytecode operado pela Dalvik é diferente do operado pela JVM
●Android “.class” “.dex”
●“.dex” – Dalvik executable
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID APLICAÇÕES
●Aplicações que já vêm embarcadas com a distribuição
Android:
–
Cliente de email
–
Programa de SMS
–
Calendário
–
Browser
–
Maps
–
etc
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID – BÁSICOS DE UMA APLICAÇÃO
Codificação em java
Geração do arquivo “.apk”
Recursos
(Resources)
ANDROID SANDBOX
●
Fonte:
http://www.ibm.com/developerworks/xml/library/xandr
oidsecurity/
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID SANDBOX
●Cada aplicação roda com um ID de sistema (Linux ID)
–
Partes do sistema também são separadas em ID`s diferentes
–
Aplicações isoladas entre si
–
Restrições de segurança
●Operações que um processo pode executar
●Acesso a dados
ANDROID DESENVOLVIMENTO
●Cuidado com as limitações de dispositivos móveis
–
Bateria (crítico)
●Tela
●Acessos à memória
–
Memória
–
Armazenamento de Dados
●Existem mecanismos para otimizar os recursos
limitados.
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS
●Android 1.0 (Setembro 2008)
–
Android Market
–
Google Talk
–
Google Maps
–
Media Player
–
Suporte à câmera (API muito simples)
–
Wifi e Bluetooth
ANDROID VERSIONS
●Android 1.1 (Fevereiro 2009)
–
Resolução de Bugs
–
Google Talk
–
Google Maps
–
Media Player
–
Suporte à câmera (API muito simples)
–
Wifi e Bluetooth
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS
●Introdução do conceito de versão mínima da SDK
utilizada
–
minSdkVersion
<manifest>
...
<usessdk android:minSdkVersion="2" />
...
</manifest>
ANDROID VERSIONS
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS
●1.5 (Cupcake Maio 2009)
–
Melhorias de Interface de Usuário
–
Melhorias de Performance
–
Novas Funcionalidades
●Câmera – Gravação de vídeo
●Bluetooth – Pareamento automático
●Sistema – Novo kernel Linux (2.6.27)
●Upload de fotos no picasa e vídeos no youtube
–
Novas API`s e elementos do manifest
ANDROID VERSIONS
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS
●1.6 (Donut)
–
Novas Funcionalidades para usuários
●Quick Search Box
●Câmera mais rápida e foto melhor
–
Atualizações do Android Market
●Mais Organizado
●Mais fácil
–
Novas tecnologias de plataforma
●Texttospeech engine
●Gestures
–
Linux kernel upgrade 2.6.29
ANDROID VERSIONS
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS
●2.0 / 2.1(Eclair)
–
Novas Funcionalidades de Usuário
●Múltiplas contas
●Câmera finalmente chegou em um nível bom
●Melhoras no teclado
–
Novas tecnologias de plataforma
●Media
●Bluetooth
–
Muitas API`s novas
●http://developer.android.com/sdk/android2.0.html#api
–Câmera
–Layout
–Gerenciador de Wallpapers
ANDROID VERSIONS
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS
●2.2 (Froyo)
–
Instalação de aplicativos no SDCard
●Android:installLocation
–
Backup de dados
–
Speech Recognition
–
Kernel Linux 2.6.32
–
Device policy manager
●Controle sobre funcionalidades de segurança
–Força do password
–Data Wipe – Destruir todos os dados
ANDROID VERSIONS
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS
●2.3 (Gingerbread)
–
Entrada de texto mais rápida e intuitiva
–
Gerência de energia melhor
●Menos consumo
●Maior duração da bateria
–
Melhor gerência de aplicações pelo usuário
–
Suporte Near field Communication (NFC)
●Ler tags
–
Melhoras para suporte a jogos
●Garbage collector concorrente (minimisa pausa das aplicações)
ANDROID VERSIONS
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS
●3.0 (Honeycomb – Fevereiro 2011)
–
Especialmente para Tablets
●Nova UI
●Novas opções de conectividade
–Troca de media
–Conectividade wifi melhorada
●Aplicações padrões (Standard) atualizadas
●Gráficos 2D e 3D com alta performance
●Suporte a multicore
●
Android 4.0/4.0.3 Ice Cream Sandwich (anunciado
outubro/2011)
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
●
Android 4.0/4.0.3 Ice Cream Sandwich
–
Anunciada na Google I/O 2011
●Maior facilidade em gerenciar multitasking
●Widgets redimensionáveis
●Novas ações para no desbloqueio de tela
●Introdução de uma nova engine de voz poderosa
●Controle sobre o tráfego de dados na rede
●Melhoras na navegação WEB
●Melhoras nos elementos de UI
ANDROID VERSIONS
●
Android 4.0 Ice Cream Sandwich
–
Anunciada na Google I/O 2011
–
Aparelhos servirão como controle remoto das casas do futuro
●Integrar celulares com eletrodomésticos comuns
●NFC (Near Field Communication) – Comunicação em campo próximo
●Acender lâmpadas
●Programar máquina de lavar
●Sincronizar alarme do celular com TV
●Etc
–
Plataforma para desenvolvimento do lado dos equipamentos
●Microcontrolador Arduino
ANDROID VERSIONS
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
●
Android 4.1/4.2/4.3 – Jelly Bean (anunciado
junho/2012)
●
Android 4.1/4.2/4.3 – Jelly Bean
–
Anunciada na Google I/O 2012
–
Otimização na visualização Web
–
Desenho de camadas otimizado
–
GPU computation
–
Widgets para bloqueio de tela
ANDROID VERSIONS
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS
ANDROID VERSIONS
●Android 4.4 Kit Kat
–
Mais otimizações na visualização Web
–
Mudanças de segurança na leitura do armazenamento externo.
(A aplicação poderá ler apenas pastas criadas por ela, caso
contrário deverá adicionar uma permissão)
–
Novo framework completo para impressão via Wifi e Bluetooth.
–
Emulação de vários “cartões” NFC
–
API oficial para suporte a envio e recebimento de SMS e MMS
(não é necessário mais usar API's ocultas)
●API's ocultas
(http://developer.sonymobile.com/2011/10/28/codeexamplesusingh
iddenandroidapis/)
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
APARELHOS COM SUPORTE À NFC
●
Galaxy S 2 (exceto versão brasileira)
●
Galasy S 3 e S 4
●
Galaxy Nexus
–
"Project Tungsten“
●Servidor doméstico compatível com Android
●Aparelho adquire a mídia por NFC
–Encosta o aparelho no cd
–Automaticamente o álbum já é reconhecido (RFID) e baixado da Internet
–Encosta mais uma vez e a primeira faixa do álbum é reproduzida
●Donwload e Music Player
ANDROID VERSIONS FUTURO
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
–
Music Beta
●Similar ao Amazon Cloud Drive
●Competir com o iTunes
●Armazenar músicas na nuvem
●Alvoroço na indústria musical
–
Parceria com fabricantes
●Motorola, Samsung, LG, HTC, etc
●Resolver problemas de fragmentação
ANDROID VERSIONS FUTURO
●
Detalhes sobre cada versão
http://developer.android.com/about/versions/index.html
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
DISTRIBUIÇÃO DAS VERSÕES DE ANDROID
●
14day period ending on March 5, 2012
Fonte:
http://developer.android.com/resources/dashboard/platform-ver
DISTRIBUIÇÃO DAS VERSÕES DE ANDROID
●
14day period ending on December 3, 2012
Fonte:
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
DISTRIBUIÇÃO DAS VERSÕES DE ANDROID
●
7day period ending on March 3, 2014
Fonte:
ANDROID VERSIONS – API LEVEL
●API Level é um valor inteiro que identifica unicamente uma nova
revisão da API oferecida por uma versão da plataforma Android.
●A plataforma Android oferece uma API para que as aplicações
possam interagir com o sistema. A API consiste de
–
Um núcleo de pacotes e classes
–
Um conjunto de elementos XML e atributos para declar um arquivo
manifest.
–
Um conjunto de elementos XML e atributos para declarar e acessar
recursos.
–
Um conjunto de Intents
–
Um conjunto de permissões que aplicações podem solicitar
●Cada versão da plataforma Android pode incluir updates nas API`s
disponibilizadas.
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS – API LEVEL
Fonte:
http://developer.an
droid.com/guide/to
pics/manifest/uses-sdk-element.html#
ApiLevels
ANDROID VERSIONS – API LEVEL
●Updates das API`s são projetados de maneira que
as novas API`s se mantenham compatíveis com
as versões anteriores.
–
maioria das mudanças nas API`s são adicionais
–
Introduzem novas funcionalidades ou substituem
antigas
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS – API LEVEL
●Quando partes das API`s são atualizadas, as partes
antigas são marcadas obsoletas (deprecated) mas não
são removidas.
–
Aplicações existentes podem continuar a serem utilizadas
●Em pouquíssimos casos, partes da API podem ser
modificadas ou removidas.
–
Robustez da API
–
Segurança do Sistema
ANDROID VERSIONS – API LEVEL
●android:minSdkVersion Especifica o API Level
mínimo em que a aplicação está apta a rodar
●android:targetSdkVersion – Especifica a Specifies the
API Level on which the application is designed to run.
In some cases, this allows the application to use
manifest elements or behaviors defined in the target
API Level, rather than being restricted to using only
those defined for the minimum API Level.
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
ANDROID VERSIONS – API LEVEL
●
android:maxSdkVersion — Especifica o API Level
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas
INSTALAÇÃO DO KIT DE DESENVOLVIMENTO ANDROID
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Aplicadas Departamento de Computação e Sistemas