Page 1
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
Page 2
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
Page 3
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
Page 4
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
Page 5
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…
Page 6
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
Page 7
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
Page 8
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
Page 9
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
Page 10
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
Page 11
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/
Page 12
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.
Page 13
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
Page 14
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
Page 15
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
Page 16
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"/>
Page 17
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/
Page 18
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.
Page 19
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
Page 20
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" />
Page 21
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;
}}
}
Page 22
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}
Page 23
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.
Page 24
24PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Arquitetura de PC clássica
CPU
Northbridge
GPU RAM
Southbridge
PCI USBSATA
Page 25
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 …
Page 26
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.
Page 27
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
Page 28
28PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Versão 1.0
Aplicação Webtop
Mobile ViewHTML, jsAplicativos webAndroid
Page 29
29PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Versão 1.0© 2011 Motorola Mobility, Inc.
Armazenamento em massa USB
Page 30
30PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Página
Versão 1.0© 2011 Motorola Mobility, Inc.
Navegador móvel vs. navegador desktop
Page 31
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!
Page 32
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.
Page 33
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
Page 34
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.
Page 35
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/
Page 36
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
Page 37
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);
}
Page 38
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") );
Page 39
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) {
Page 40
40PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Demo
Q & A
Page 41
41PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
Perguntas?@motodev
@motodevbr
Brasil - #appsum11brArgentina - #appsum11arMéxico - #appsum11mx
Page 42
42PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.
obrigado
Page 43
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.
Page 44
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.
Page 45
45PáginaMOTODEV App Summit
© 2011 Motorola Mobility, Inc.