Weitere ähnliche Inhalte Ähnlich wie Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de dispositivos móveis (20) Mehr von Motorola Mobility - MOTODEV (20) Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de dispositivos móveis1. Motorola Mobility
Peter van der Linden
Evangelista da tecnologia Android
Plataformas e serviços para desenvolvedores
Brasil - #appsum11br
Tirando vantagem do webtop:
como o HTML5 aprimora a experiência do
usuário de dispositivos móveis
MOTOROLA and the Stylized M Logo are trademarks or registered trademarks of Motorola Trademark Holdings, LLC.
All other trademarks are the property of their respective owners. © 2011 Motorola Mobility, Inc. All rights reserved.
2. MOTODEV App Summit Página 2
• 1 VISÃO GERAL DO DISPOSITIVO
• 2 PROGRAMANDO A CÂMERA FRONTAL
• 3 CRIANDO APLICATIVOS EXECUTÁVEIS EM DIVERSOS DISPOSITIVOS
• 4 O QUE O APLICATIVO WEBTOP FAZ
© 2011 Motorola Mobility, Inc.
3. MOTODEV App Summit Página 3
Página
Visão geral do dispositivo
• Motorola ATRIX 4G MB860
• Formato de barra, 11 mm de
espessura
• Display de 4,0”, qHD (540 x 960),
240 dpi, cores de 24 bit
• Processador Tegra 2 NVIDIA
dual-core de 1 GHz
• Android 2.2.1 (Froyo)
• Bateria de polímero Li Ion 1930 mAh
© 2011 Motorola Mobility, Inc.
4. MOTODEV App Summit Página 4
Página
RAM/ROM
• 1 GB RAM
• Armazenamento seguro de 2 GB
• Armazenamento compartilhado não removível de
10,7 GB
• Armazenamento compartilhado removível de até 32
GB micro SDHC
© 2011 Motorola Mobility, Inc.
5. MOTODEV App Summit Página 5
Página
Rede
• W-CDMA 850/1900/2100
• GSM 850/900/1800/1900
• HSDPA 14 Mbps (Categoria 10)
• Wi-Fi, Bluetooth…
© 2011 Motorola Mobility, Inc.
6. MOTODEV App Summit Página 6
Página
Câmeras e vídeo
• Câmeras frontal e traseira
o Traseira: 5 megapixels, foco automático, flash
duplo de LED
o Frontal: VGA (640x480) de foco fixo
• Gravação e reprodução de vídeo
o HD 720p, 30 fps
o Reproduçãp na tela do dispositivo ou por porta
HDMI
© 2011 Motorola Mobility, Inc.
7. MOTODEV App Summit Página 7
Página
Sensores de hardware
• Acelerômetro
• Magnetômetro (bússola)
• Sensor de proximidade
• Sensor de luz ambiente
• Leitor biométrico de impressão digital
o Desbloqueio do telefone com segurança extra
o Nenhuma API para acessar o leitor no momento
© 2011 Motorola Mobility, Inc.
8. MOTODEV App Summit Página 8
Página
Software
• Navegador Android WebKit
• Adobe® Flash® Player
• Aplicativo webtop
o Aplicativo File Manager
• Aplicativo Entertainment Center
© 2011 Motorola Mobility, Inc.
9. MOTODEV App Summit Página 9
Página
Acessórios: Lapdock
• Dock com formato de notebook, 1,08 kg
• Tela 11,6”
• Teclado completo, trackpad com clique do botão
direito e esquerdo
• Duas porta USB, conectores de dock para o
ATRIX
• Alto-falantes estéreo
• Bateria embutida
o Carrega o ATRIX
© 2011 Motorola Mobility, Inc.
10. MOTODEV App Summit Página 10
Página
Acessórios:
HD Dock multimídia
• Conectores de dock Micro USB e HDMI
• Conecta o telefone a um monitor ou TV HD
• Conecta periféricos
o Teclado ou mouse USB
o Dispositivos USB de armazenamento em
massa (“mass storage”)
• Controle remoto
© 2011 Motorola Mobility, Inc.
11. MOTODEV App Summit Página 11
Página
Recursos do ATRIX
• Complemento de SDK (“add-ond”)
o http://developer.motorola.com/docstools/tools/
• Artigo de visão geral do aplicativo Webtop
o http://developer.motorola.com/docstools/tools/
• Especificações do dispositivo
o http://developer.motorola.com/products/atrix-mb860/
© 2011 Motorola Mobility, Inc.
12. Programando a câmera frontal
MOTOROLA and the Stylized M Logo are trademarkssãoregistered trademarks of Motorola Trademark Holdings, LLC.
MOTOROLA e o logotipo com o M estilizado or marcas registradas ou comerciais da Motorola Trademark Holdings,
All otherLLC. Todas as marcas registradas pertencem aowners. © 2011 Motorola Mobility, Inc. Motorola Mobility, Inc. Todos os
trademarks are the property of their respective seus respectivos proprietários. © 2011 All rights reserved.
direitos reservados.
13. MOTODEV App Summit Página 13
Página
API da câmera frontal
• Fornece acesso à câmera frontal com programação
• API específica da Motorola (porque FFC é específico da
Motorola)
• Presente no 2.2 (Froyo)
• Questionado, mas ainda presente no 2.3 (Gingerbread)
o Gingerbread tem um API Google padrão, Froyo não
© 2011 Motorola Mobility, Inc.
14. MOTODEV App Summit Página 14
Página
API da câmera frontal
• Biblioteca (lib) com.motorola.hardware.frontcamera.FrontCamera
• Um método: static Camera getFrontCamera();
• Devolve um objeto padrão da câmera Android; trate como
qualquer outro
• Isso é tudo!
.
© 2011 Motorola Mobility, Inc.
15. MOTODEV App Summit Página 15
Página
API da câmera frontal
importar com.motorola.hardware.frontcamera.FrontCamera;
importar android.hardware.Camera;
Câmera frontCam = FrontCamera.getFrontCamera();
// frontCam representa a câmera frontal
// trate como qualquer outro objeto “Camera”
...
frontCam.release(); // sempre execute o release após uso
© 2011 Motorola Mobility, Inc.
16. MOTODEV App Summit Página 16
Página
Arquivo de manifesto para câmera frontal
<uses-library android:name="com.motorola.hardware.frontcamera"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-permission android:name="android.permission.CAMERA"/>
© 2011 Motorola Mobility, Inc.
17. MOTODEV App Summit Página 17
Página
Dicas sobre a câmera frontal
• Esse código não funciona no emulador; teste no dispositivo
• O complemento de SDK do ATRIX contém um arquivo jar
que você usa para conseguir compilar seus aplicativos
o ffc_api_stub.jar
• Consulte o artigo sobre a API da câmera frontal da Motorola
para obter instruções sobre como adicionar esse jar ao seu
projeto
o "Motorola Front-Facing Camera API" -
http://developer.motorola.com/docstools/library/
motorola-front-facing-camera-api/
© 2011 Motorola Mobility, Inc.
18. Criando aplicativos
executáveis em diversos
dispositivos
MOTOROLA and the Stylized M Logo are trademarkssãoregistered trademarks of Motorola Trademark Holdings, LLC.
MOTOROLA e o logotipo com o M estilizado or marcas registradas ou comerciais da Motorola Trademark Holdings,
All otherLLC. Todas as marcas registradas pertencem aowners. © 2011 Motorola Mobility, Inc. Motorola Mobility, Inc. Todos os
trademarks are the property of their respective seus respectivos proprietários. © 2011 All rights reserved.
direitos reservados.
19. MOTODEV App Summit Página 19
Página
Usando APIs específicos da Motorola
• O código da câmera frontal não é executado sem
a biblioteca necessária
• Você pode usar reflexão (“reflection”) para detectar e
usar as APIs apenas nos dispositivos que possuam a
biblioteca
© 2011 Motorola Mobility, Inc.
20. MOTODEV App Summit Página 20
Página
Exemplo de reflexão – Alteração do manifesto
<uses-library
android:name="com.motorola.hardware.frontcamera”
android:required="false" />
© 2011 Motorola Mobility, Inc.
21. MOTODEV App Summit Página 21
Página
Exemplo de reflexão – coloque tudo em uma
subclasse
private static class ConditionalFrontCamera {
public static Camera getFrontCamera(){
try {
Method fcMethod = Class.forName(
"com.motorola.hardware.frontcamera.FrontCamera")
.getDeclaredMethod("getFrontCamera", (Class[])null);
return (Camera) fcMethod.invoke(
(Object[])null, (Object[])null);
} catch (Exception ex){
return null;
}
}
}
© 2011 Motorola Mobility, Inc.
22. MOTODEV App Summit Página 22
Página
Exemplo de reflexão – use a subclasse
Camera frontCam =
ConditionalFrontCamera.getFrontCamera();
if(frontCam != null) {
// Foi possível acessar a câmera frontal. Continue
} else {
// Não há câmera frontal
}
© 2011 Motorola Mobility, Inc.
23. Tegra 2 Chipset
MOTOROLA and the Stylized M Logo are trademarkssãoregistered trademarks of Motorola Trademark Holdings, LLC.
MOTOROLA e o logotipo com o M estilizado or marcas registradas ou comerciais da Motorola Trademark Holdings,
All otherLLC. Todas as marcas registradas pertencem aowners. © 2011 Motorola Mobility, Inc. Motorola Mobility, Inc. Todos os
trademarks are the property of their respective seus respectivos proprietários. © 2011 All rights reserved.
direitos reservados.
24. MOTODEV App Summit Página 24
Página
Arquitetura de PC clássica
CPU
Northbridge
GPU RAM
Southbridge
PCI SATA USB
© 2011 Motorola Mobility, Inc.
25. MOTODEV App Summit Página 25
Página
Tegra 2 – feito para a velocidade
• é um autêntico sistema-em-um-chip (“System-on-a-
Chip”)
o Northbridge, Southbridge, CPUs e GPU
• CPUs de arquitetura dual core ARM ver 7
o Executando a 1 GHz cada
o Fabs mudaram para multi-core porque não era
possível acrescentar velocidade (devido ao calor),
mas tinham "die room" (devido à lei de Moore)
o quads a caminho …
© 2011 Motorola Mobility, Inc.
26. O que o Webtop App faz
MOTOROLA and the Stylized M Logo are trademarkssãoregistered trademarks of Motorola Trademark Holdings, LLC.
MOTOROLA e o logotipo com o M estilizado or marcas registradas ou comerciais da Motorola Trademark Holdings,
All otherLLC. Todas as marcas registradas pertencem aowners. © 2011 Motorola Mobility, Inc. Motorola Mobility, Inc. Todos os
trademarks are the property of their respective seus respectivos proprietários. © 2011 All rights reserved.
direitos reservados.
27. MOTODEV App Summit Página 27
Página
Motorola Lapdock
É um ambiente que usa a potência da CPU
do telefone para sustentar um navegador
desktop completamente independente
.
© 2011 Motorola Mobility, Inc.
28. MOTODEV App Summit
Aplicação Webtop Página 28
Página
Mobile View HTML, js 1.0
Versão
© 2011 Motorola Mobility, Inc. Android
Aplicativos web
29. MOTODEV App Summit Página 29
Página
Armazenamento em massa USB
© 2011 Motorola Mobility, Inc. Versão 1.0
© 2011 Motorola Mobility, Inc.
30. MOTODEV App Summit Página 30
Página
Navegador móvel vs. navegador desktop
© 2011 Motorola Mobility, Inc. Versão 1.0
© 2011 Motorola Mobility, Inc.
31. MOTODEV App Summit Página 31
Página
O que o aplicativo Webtop faz
• Abre automaticamente quando a dock é conectada à
tela
• O Motorola Lapdock para o Motorola ATRIX 4G provê
a tela e o dispositivo de teclado/apontador em uma
unidade
• Traz o Firefox 3.6.13 Desktop em tamanho real na
tela de 11,5 polegadas
• Gateway para a nuvem!
.
© 2011 Motorola Mobility, Inc.
32. Suporte a HTML5
MOTOROLA and the Stylized M Logo are trademarkssãoregistered trademarks of Motorola Trademark Holdings, LLC.
MOTOROLA e o logotipo com o M estilizado or marcas registradas ou comerciais da Motorola Trademark Holdings,
All otherLLC. Todas as marcas registradas pertencem aowners. © 2011 Motorola Mobility, Inc. Motorola Mobility, Inc. Todos os
trademarks are the property of their respective seus respectivos proprietários. © 2011 All rights reserved.
direitos reservados.
33. MOTODEV App Summit Página 33
Página
HTML 5
• última versão do padrão HTML do W3C
• trabalho em andamento, metas:
• suporte para aplicativos web
• reduz a necessidade de plug-ins
• melhor manipulação de erros
• independente do dispositivo
• marcação (“markup”) para substituir scripting
© 2011 Motorola Mobility, Inc.
34. MOTODEV App Summit Página 34
Página
HTML 5
• diversos elementos e atributos novos
section, article, aside, hgroup, header,
footer, nav, figure, video, audio, canvas,
datalist, embed, mark, etc.
© 2011 Motorola Mobility, Inc.
35. MOTODEV App Summit Página 35
Página
Suporte ao Firefox 3.6
• Clique e arraste (“drag & drop”) nativo
• Cache de arquivo do aplicativo, especificado pelo
desenvolvedor
• Áudio WAV e reprodução OGG em <audio>
• Consulte
http://developer.motorola.com/docstools/library/webto
p-application-overview/
© 2011 Motorola Mobility, Inc.
36. MOTODEV App Summit Página 36
Página
O Firefox 3.6 também suporta
• Renderização 2D do Javascript em <canvas>
• Armazenamento web para guardar dados no disco
rígido do usuário, para permitir que os aplicativos web
fiquem disponíveis offline (pares chave/valor)
• Acesso a geolocalização com Javascript
• Mais informações em http://www.html5rocks.com
© 2011 Motorola Mobility, Inc.
37. MOTODEV App Summit Página 37
Renderização de 2D rendering em canvas
• test for feature support. If present, use it.
<canvas id="myc" width="500" height="300"></canvas>
<script>
function supportsCanvas() {
return !!document.createElement('canvas').getContext;
}
var head = new Image(); head.src="head.jpg”;
var myc = document.getElementById("myc");
var cxt = myc.getContext("2d");
head.onload = function () {
cxt.drawImage(head, 0, 0);
}
© 2011 Motorola Mobility, Inc.
38. MOTODEV App Summit Página 38
Armazenamento Local
• test for feature support. If present, use it.
function supportsLocalStorage() {
return ('localStorage' in window)
&& window['localStorage']!==null;
}
try {
var msg = "localStorage is working OK <br>";
localStorage.setItem("key", msg );
} catch (e) {
document.write("Excpn in local storage");
}
document.write( localStorage.getItem("key") );
© 2011 Motorola Mobility, Inc.
39. MOTODEV App Summit Página 39
Geolocalização
• test for feature support. If present, use it.
function supportsGeolocation() {
return !!navigator.geolocation;
}
function savePos(pos) {
var lat = pos.coords.latitude;
var lon = pos.coords.longitude;
}
try {
navigator.geolocation.getCurrentPosition(savePos);
} catch (e) {
© 2011 Motorola Mobility, Inc.
41. MOTODEV App Summit Página 41
Perguntas?
@motodev
@motodevbr
Brasil - #appsum11br
Argentina - #appsum11ar
México - #appsum11mx
© 2011 Motorola Mobility, Inc.
43. MOTODEV App Summit Página 43
Página
Licenças
Os exemplos de código fonte exibidos nesta apresentação podem ser licenciados sob a Licença
Apache, versão 2, da seguinte forma:
Copyright © 2010, Android Open Source Project. Todos os direitos reservados, a menos se indicado
explicitamente de outra forma.
Licenciado segundo a licença do Apache, versão 2.0 (a "Licença"); você não pode usar este arquivo,
exceto em conformidade com a Licença. Uma cópia da licença pode ser obtida em
http://www.apache.org/licenses/LICENSE-2.0.
A menos que seja exigido pela lei aplicável ou haja acordo por escrito, o software distribuído sob a Licença
é fornecido "NA FORMA EM QUE SE ENCONTRA", SEM GARANTIAS OU CONDIÇÕES DE NENHUM
TIPO, expressas ou implícitas. Consulte a licença para o idioma específico que rege as permissões e
limitações conforme a Licença.
© 2011 Motorola Mobility, Inc.
44. MOTODEV App Summit Página 44
Página
Licenças
Os exemplos de código fonte exibidos nesta apresentação podem ser licenciados sob a Licença
BSD, da seguinte forma:
Copyright © 2010-2011, Motorola, Inc. Todos os direitos reservados exceto quando indicado explicitamente em contrário.
A redistribuição e utilização nas formas binária e de fonte, com ou sem modificação, são permitidas contanto que as
seguintes condições sejam cumpridas:
As redistribuições do código-fonte devem manter o aviso de direitos autorais acima, esta lista de condições e a declaração
de isenção de responsabilidade a seguir.
As redistribuições em forma binária devem reproduzir o aviso de direitos autorais acima, esta lista de condições e a
declaração de isenção de responsabilidade a seguir em sua documentação e/ou outro material fornecido com a distribuição.
O nome da Motorola, Inc. e os nomes de seus contribuidores não podem ser usados para endossar ou promover produtos
derivados deste software sem permissão específica prévia por escrito.
ESTE SOFTWARE É FORNECIDO PELOS TITULARES DOS DIREITOS AUTORAIS E CONTRIBUIDORES "NA FORMA
EM QUE SE ENCONTRA" E QUALQUER GARANTIA, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS SEM LIMITAÇÃO A,
GARANTIAS IMPLÍCITAS DE COMERCIABILIDADE E ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA, É RENUNCIADA.
EM CIRCUNSTÂNCIA ALGUMA O TITULAR DOS DIREITOS AUTORAIS OU CONTRIBUIDORES SERÃO
RESPONSABILIZADOS POR QUALQUER DANO DIRETO, INDIRETO, INCIDENTAL, ESPECIAL, EXEMPLAR OU
CONSEQUENTE (INCLUSIVE, SEM LIMITAÇÃO A, AQUISIÇÃO DE BENS OU SERVIÇOS SUBSTITUTOS; PERDA DE
USO, DADOS OU LUCROS; OU INTERRUPÇÃO DE NEGÓCIOS) SEJA QUAL FOR A CAUSA E SOBRE QUALQUER
TEORIA DE RESPONSABILIDADE, SEJA EM CONTRATO, RESPONSABILIDADE OBJETIVA OU ATO ILÍCITO
(INCLUSIVE NEGLIGÊNCIA) DE ALGUMA FORMA DECORRENTE DO USO DESTE SOFTWARE, MESMO SE TIVEREM
SIDO AVISADOS DA POSSIBILIDADE DE TAL DANO.
© 2011 Motorola Mobility, Inc.