Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de dispositivos móveis
-
Upload
motorola-mobility-motodev -
Category
Technology
-
view
1.164 -
download
0
Transcript of 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.
Peter van der LindenEvangelista da tecnologia Android
Plataformas e serviços para desenvolvedores
Brasil - #appsum11br
Motorola Mobility
Tirando vantagem do webtop: como o HTML5 aprimora a experiência do usuário de dispositivos móveis
2PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
• 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
3PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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 NVIDIAdual-core de 1 GHz
• Android 2.2.1 (Froyo)
• Bateria de polímero Li Ion 1930 mAh
4PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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
5PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Rede
• W-CDMA 850/1900/2100• GSM 850/900/1800/1900• HSDPA 14 Mbps (Categoria 10)• Wi-Fi, Bluetooth…
6PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Câmeras e vídeo
• Câmeras frontal e traseirao Traseira: 5 megapixels, foco automático, flash
duplo de LED o Frontal: VGA (640x480) de foco fixo
• Gravação e reprodução de vídeoo HD 720p, 30 fpso Reproduçãp na tela do dispositivo ou por porta
HDMI
7PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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 extrao Nenhuma API para acessar o leitor no momento
8PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Software
• Navegador Android WebKit
• Adobe® Flash® Player
• Aplicativo webtopo Aplicativo File Manager
• Aplicativo Entertainment Center
9PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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
10PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
PáginaAcessó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 USBo Dispositivos USB de armazenamento em
massa (“mass storage”)• Controle remoto
11PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Recursos do ATRIX
• Complemento de SDK (“add-ond”)o http://developer.motorola.com/docstools/tools/
• Artigo de visão geral do aplicativo Webtopo http://developer.motorola.com/docstools/tools/
• Especificações do dispositivoo http://developer.motorola.com/products/atrix-mb860/
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.
Programando a câmera frontal
MOTOROLA e o logotipo com o M estilizado são marcas registradas ou comerciais da Motorola Trademark Holdings, LLC. Todas as marcas registradas pertencem a seus respectivos proprietários. © 2011 Motorola Mobility, Inc. Todos osdireitos reservados.
13PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
API da câmera frontal
• Fornece acesso à câmera frontal com programação
• API específica da Motorola (porque FFC é específico daMotorola)
• Presente no 2.2 (Froyo)
• Questionado, mas ainda presente no 2.3 (Gingerbread)o Gingerbread tem um API Google padrão, Froyo não
14PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
.
• Biblioteca (lib) com.motorola.hardware.frontcamera.FrontCamera
• Um método: static Camera getFrontCamera();
• Devolve um objeto padrão da câmera Android; trate comoqualquer outro
• Isso é tudo!
API da câmera frontal
15PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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
16PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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"/>
17PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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 aplicativoso 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 seuprojetoo "Motorola Front-Facing Camera API" -
http://developer.motorola.com/docstools/library/motorola-front-facing-camera-api/
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.
Criando aplicativosexecutáveis em diversosdispositivos
MOTOROLA e o logotipo com o M estilizado são marcas registradas ou comerciais da Motorola Trademark Holdings, LLC. Todas as marcas registradas pertencem a seus respectivos proprietários. © 2011 Motorola Mobility, Inc. Todos osdireitos reservados.
19PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Usando APIs específicos da Motorola
• O código da câmera frontal não é executado sema biblioteca necessária
• Você pode usar reflexão (“reflection”) para detectar e usar as APIs apenas nos dispositivos que possuam a biblioteca
20PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Exemplo de reflexão – Alteração do manifesto
<uses-library android:name="com.motorola.hardware.frontcamera”android:required="false" />
21PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Exemplo de reflexão – coloque tudo em umasubclasse
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;
}}
}
22PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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}
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.
Tegra 2 Chipset
MOTOROLA e o logotipo com o M estilizado são marcas registradas ou comerciais da Motorola Trademark Holdings, LLC. Todas as marcas registradas pertencem a seus respectivos proprietários. © 2011 Motorola Mobility, Inc. Todos osdireitos reservados.
24PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Arquitetura de PC clássica
CPU
Northbridge
GPU RAM
Southbridge
PCI USBSATA
25PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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 7o Executando a 1 GHz cadao 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 …
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.
O que o Webtop App faz
MOTOROLA e o logotipo com o M estilizado são marcas registradas ou comerciais da Motorola Trademark Holdings, LLC. Todas as marcas registradas pertencem a seus respectivos proprietários. © 2011 Motorola Mobility, Inc. Todos osdireitos reservados.
27PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
.
Motorola Lapdock
É um ambiente que usa a potência da CPU do telefone para sustentar um navegadordesktop completamente independente
28PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Versão 1.0
Aplicação Webtop
Mobile ViewHTML, jsAplicativos webAndroid
29PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Versão 1.0© 2011 Motorola Mobility, Inc.
Armazenamento em massa USB
30PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Versão 1.0© 2011 Motorola Mobility, Inc.
Navegador móvel vs. navegador desktop
31PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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 umaunidade
• Traz o Firefox 3.6.13 Desktop em tamanho real natela de 11,5 polegadas
• Gateway para a nuvem!
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.
Suporte a HTML5
MOTOROLA e o logotipo com o M estilizado são marcas registradas ou comerciais da Motorola Trademark Holdings, LLC. Todas as marcas registradas pertencem a seus respectivos proprietários. © 2011 Motorola Mobility, Inc. Todos osdireitos reservados.
33PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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
34PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
HTML 5
• diversos elementos e atributos novos
section, article, aside, hgroup, header, footer, nav, figure, video, audio, canvas, datalist, embed, mark, etc.
35PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Suporte ao Firefox 3.6
• Clique e arraste (“drag & drop”) nativo
• Cache de arquivo do aplicativo, especificado pelodesenvolvedor
• Áudio WAV e reprodução OGG em <audio>
• Consultehttp://developer.motorola.com/docstools/library/webtop-application-overview/
36PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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
37PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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);
}
38PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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") );
39PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
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) {
40PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Demo
Q & A
41PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Perguntas?@motodev
@motodevbr
Brasil - #appsum11brArgentina - #appsum11arMéxico - #appsum11mx
42PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
obrigado
43PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Licenças
Os exemplos de código fonte exibidos nesta apresentação podem ser licenciados sob a LicençaApache, versão 2, da seguinte forma:Copyright © 2010, Android Open Source Project. Todos os direitos reservados, a menos se indicadoexplicitamente 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 emhttp://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.
44PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
LicençasOs exemplos de código fonte exibidos nesta apresentação podem ser licenciados sob a LicençaBSD, 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çãode 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 produtosderivados 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.
45PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.