Sei sulla pagina 1di 58

Motorola Mobility

Anna Schaller
Evangelistas da tecnologia Android Plataformas e servios para desenvolvedores

Desenvolvimento de aplicativos para o tablet Motorola XOOM

Bem-vindo 01 Anteseagora
Designdosmartphoneversusdesigndotablet

02 MudanasnodesigndaIUdeaplicativos
IntroduoaosrecursosdeIUdoAndroid3.0

03 Mudanasnosgrficosenamdia
Atualizaes,aprimoramentoseinformaessobresuportea grficosemdia

04 Recursos dehardware
SuporteaoAndroidnohardwaredoXOOM

05 10coisas
10PassosfceisparacolocaroseuaplicativonoXOOM
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 3

Apresentao do tablet
Tela: 10,1 polegadas diagonal (xlarge), WXGA (1280 x 800), 160 dpi (mdpi) Memria: 32 GB de armazenamento flash Processador: nVidia Tegra 2 dual core Sensores: acelermetro, barmetro, giroscpio, bssola, luz ambiente, GPS, sem proximidade ou vibrao, rotao 4 direes Conectividade: 802.11 a/b/g/n, Bluetooth, HDMI Cmera: 2 mp foco fixo dianteira / 5 mp autofoco traseira Mdia: gravao em vdeo HD 720p, reproduo HD 1080p Armazenamento externo: carto SD de 32 GB post-launch Plataforma: Android 3.0 (Honeycomb) Ambientes de aplicativo: Adobe AIR 2.6, Android, NDK, Flash 10.1 Muitas alteraes de software..
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 4

Para onde foi tudo?


Boto liga/desliga Barra de status

Teclas Teclas de (para cima/baixo)

Tecla de menu

Boto de bnus (geralmente pesquisa) Boto Voltar


2010 Motorola Mobility, Inc.

Tecla de incio

MOTODEV App Summit 2011

Pgina 5

Interao com o tablet

Volume Teclas (para cima/baixo) liga/desliga Boto

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 6

Interao (cont.)

No um boto de menu

Barra de sistema

2010 Motorola Mobility, Inc.

Pgina 7

Tema hologrfico Escurecimento da barra de sistema

Mudanas no design da IU de aplicativos

Barra de aes Fragmentos Novos widgets Notificaes atualizadas rea de transferncia do sistema Arrastar e soltar
Ttulo da apresentao Verso 1.0 02.24.09

MOTODEV App Summit 2011

Pgina 8

Tema hologrfico
Herdado por todos os aplicativos compilados com o Android 3.0
minSdkVersion ou targetSdkVersion = 11 *e* ativar acelerao de hardware (android:hardwareAccelerated=true) Se a verso do SDK <= 9, o seu aplicativo usa os designs de widget do Android 2.3 e no herda o tema hologrfico

Existem duas verses


Padro: fundo azul com letras brancas @android:style/Theme.Holo Invertido: branco hologrfico com letras pretas @android:style/Theme.Holo.Light

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 9

Escurecimento da barra de sistema


Modo Lights out (apagar a luz)
Escurece a barra de sistema substituindo os cones por pontos hologrficos (a barra de sistema no removida)

View v = findViewById(R.id.view_id); v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN); v.setSystemUiVisibility(View.STATUS_BAR_VISIBLE);

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 10

Barra de aes simples


Substitui a barra de ttulo tradicional no canto superior do aplicativo

cone do aplicativo com ttulo Menu Overflow


A criao de menus no mudou

public boolean onCreateOptionsMenu(Menu menu) {} public boolean onOptionsItemSelected(MenuItem item) { case R.id.menu_item }

/res/menu/menu_definitions.xml
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 11

Barra de aes Abas com itens de ao


acionvel cone Abas Itens de ao

O cone do aplicativo pode ser acionvel Interface com abas na barra de aes Itens de ao individuais, em vez de listados no menu overflow Com ou sem texto; com ou sem cone Para gerenciar a barra de aes
ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

Consulte android.app.actionbar

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 12

Com tela cheia remoo da barra de aes


Voc pode ocultar a barra de aes, *mas* o aplicativo perder o acesso ao menu
<activity android:theme="@android:style/Theme.NoTitleBar">

Outra forma de ocultar a barra de aes com programao, e ento deixar o usurio alternar

ActionBar bar = getActionBar(); if (bar != null) { if (bar.isShowing()) bar.hide(); else bar.show(); }

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 13

Menus
Para aceitar compatibilidade retroativa, o boto de menu de software foi adicionado junto barra de sistema
minSdkVersion e targetSdkVersion < 11

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 14

Fragmentos
Possibilita que um aplicativo seja dividido em subcomponentes que possam ser gerenciados individualmente e combinados de vrias formas, como a criao de uma IU com diversos painis.

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 15

Fragmentos (cont.)
Um fragmento deve estar sempre includo em uma Atividade
Atividade

Lista Fragmento

Fragmento

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 16

Fragmentos (fragmento de base)


Fragmento (base)

Crie classe que estenda Fragments Exibe contedo semelhante a uma Atividade (imagens, texto, widgets de aplicativo) Pode ser vinculado a outro fragmento ou aba Pode adicionar itens ao menu overflow da Atividade (barra de aes) No precisa ser visvel (pode trabalhar nos bastidores) Se for visvel, precisar de seu prprio arquivo de layout
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 17

Fragmentos (adio a uma atividade)

XOOM_hc_app /res/layout/main.xml Layout da atividade (Lista) Fragmento (Contedo) Fragmento com incluso de imagem
PictureList.java

ContentFragment.java
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 18

Fragmentos (cont.)
Instrues no Guia do desenvolvedor do 3.0 sobre fragmentos Consulte referncia 3.0 sobre APIs
android.app.Fragment android.app.ListFragment
Exibe uma lista semelhante a ListActivity

android.app.DialogFragment
Exibe uma caixa de dilogo flutuante

android.app.FragmentManager
Interface para interao com o fragmento (findFragmentById)

android.app.FragmentTransaction
APIs para operaes de fragmento (adicionar, remover, substituir, ocultar, mostrar)

Post no blog The Android 3.0 Fragments API


2010 Motorola Mobility, mais detalhes sobre Fragmentos para todas as verses de Android 1.6 e Inc. posterior

MOTODEV App Summit 2011

Pgina 19

Novos modos de exibio


Widgets de aplicativo
PopupMenu (android.widget.PopupMenu) O menu vinculado a uma exibio (boto, por exemplo)

Widgets de tela principal


StackView (android.widget.StackView) Uma exibio que mostra os filhos em uma pilha 3D e deixa que os usurios passem os filhos separadamente.

Notificaes elaboradas (android.app.Notification.Builder)


compilar layouts de notificao
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 20

Exemplo em funcionamento
Honeycomb Gallery em amostras de SDK apresenta..
Barra de aes com interface com abas, menu de itens de ao e menu overflow FragmentList e fragmento em retrato e paisagem Novo tema Arrastar e soltar Animao Ocultar/mostrar Barra de aes Modo de apagar a luz

2010 Motorola Mobility, Inc.

Acelerao de hardware para grficos 2D

Grficos e multimdia

Compresso de texturas Novo framework de animao Suporte a mdia

Ttulo da apresentao

Verso 1.0

02.24.09

MOTODEV App Summit 2011

Pgina 22

Acelerao de hardware
Suporte integrado para acelerao em um subconjunto de grficos 2D (Canvas API) Globalmente para todo o aplicativo ou atividade individual com configurao do n apropriado no manifesto
android:hardwareAccelerated=true

Localmente em cada atividade e/ou com programao de janela por WindowManager.LayoutParams


Window win = getWindow(); win.setFlags (WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

Teste para confirmar se o canvas est acelerado por hardware com isHardwareAcclerated()
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 23

Compresso de texturas
Chipsets diferentes aceitam tipos de compresso diferentes Formatos para celular:
ETC1 aceito por todos os dispositivos Android com OpenGL ES 2.0 mas sem canal alfa PVRTC (PowerVR SGX 530 GPU da Imagination Technologies) ATITC (Adreno GPU da Qualcomm) S3TC ou DXT1, 3, 5 (nVidia GPU)

Soluo: filtragem de compresso de texturas


<supports-gl-textures android:name=string> onde string a extenso do OpenGL ES para um tipo de compresso por exemplo android:name=GL_EXT_texture_compression_s3tc
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 24

Compresso de texturas (cont.)


Funciona com todo nvel de API, no apenas Honeycomb Precisa definir uma tag para cada formato aceito Lista de tipos de compresso aceitos no Guia do desenvolvedor do Android - Tags de manifesto Android http://developer.android.com/guide/topics/manifest/supports-gl-textureelement.html Consulte ferramentas no Artigo tcnico do MOTODEV http://developer.motorola.com/docstools/library/understanding-texturecompression/

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 25

Animao
Dois sistemas de animao para escolher: 1. Animaes de exibio (android.view.animation) Animaes com Tween Cria uma srie de transformaes simples no contedo de um objeto de exibio View. As transies bsicas incluem rotao, esmaecimento, movimento e ampliao em um grfico. Com as animaes quadro a quadro (frame-by-frame), voc carrega uma srie de recursos Drawable, um aps o outro, para criar uma animao. // novo no honeycomb)

Animaes com quadros

2.

Animaes de propriedade (android.animation

Pode animar quase qualquer coisa (no apenas exibies como drawables!) Aumenta o conjunto de propriedades que podem ser animadas (grupo e reproduo) As animaes de exibio so mais simples e rpidas, as animaes de propriedade fazem mais Consulte http://developer.android.com/guide/topics/graphics/animation.html
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 26

Suporte a mdia -- Como pr contedo ao dispositivo


Transferncia de arquivo de mdia digital Suporte integrado ao protocolo MTP/PTP (protocolo de transporte de mdia/imagem). O usurio conecta o cabo USB e o aplicativo Android File Transfer iniciado. Os usurios podem copiar imagens, filmes, vdeos, toques, podcasts e mais em pastas predefinidas ou criar novas pastas para outro contedo.

2010 Motorola Mobility, Inc.

Sensores

Hardware

Cmera Tela de toque Telefonia

MOTODEV App Summit 2011

Pgina 28

Sensores
Acelermetro, giroscpio, magnetmetro, barmetro, bssola, luz ambiente, GPS, sem sensor de proximidade, sem vibrao Orientao do dispositivo
A orientao natural paisagem (landscape) com rotao em 4 direes
+ye +x +yes +ye -x +x -x -x -ye Rotao 0 Rotao 90 -ye
Rotao 02010 Motorola Mobility, Inc.

+z

-ye +x

MOTODEV App Summit 2011

Pgina 29

Sensores (cont.)
Use android.view.Display.getRotation() para ver a direo atual Ajuste os valores x/y para os quatro tipos de rotao
ROTATION_0 ROTATION_90 ROTATION_180 ROTATION_270

Consulte a amostra AccelerometerPlay no SDK Mais detalhes no post do blog do Android One Screen Turn Deserves Another Se voc precisar impedir a rotao do aplicativo, trave-o na orientao natural com
<activity android:orientation=nosensor />
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 30 Pgina

Sensores -- leitura do sensor de barmetro


// www.engineeringtoolbox.com/air-altitude-pressure-d_462.html

//~1.2 gm/cm2 mais baixo para cada 10 metros de ganho em elevao

2010 Motorola Mobility, Inc. Motorola Mobility, Inc. 2010 Verso 1.0

MOTODEV App Summit 2011

Pgina 31

Cmeras
2 cmeras disponveis dianteira e traseira
Traseira: 5 mp, autofoco Dianteira: 2 mp, foco fixo

Suporte adicionado para cmeras duplas no Gingerbread (2.3) A cmera traseira primria e, portanto, a filtragem feita com base nos recursos da cmera traseira (por exemplo android.hardware.camera.autofocus)
<uses-permission android:name=android.permission.CAMERA /> <uses-feature android:name=android.hardware.camera.front android:required=<true or false> />

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 32

Cmera (cont.)
import android.hardware.Camera; import android.hardware.Camera.CameraInfo; [] public void toggleCamera() { Camera mCamera; int numberOfCameras = Camera.getNumberOfCameras(); CameraInfo cameraInfo = new CameraInfo(); for (int i = 0; i < numberOfCameras; i++) { Camera.getCameraInfo(i, cameraInfo); if (cameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT) { mCamera = Camera.open(i); // fazer algo com a cmera dianteira } else if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) { mCamera = Camera.open(i); // fazer algo com a cmera traseira } } }
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 33

Tela de toque
android.hardware.touchscreen.multitouch Aceita toque com 2 dedos android.hardware.touchscreen.distinct

(API nvel 7) (API nvel 8) (API nvel 9)

Aceita deteco de 2 ou mais dedos de forma completamente independente


android.hardware.touchscreen.multitouch.jazzhands

Aceita deteco de 5 ou mais dedos de forma completamente independente (toque com 10 dedos) Defina a tag <usesfeature> para filtrar dispositivos que aceitam isso (como o XOOM)

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 34

Tela de toque (cont.)


Como no h teclado fsico no XOOM, a superfcie sensvel ao toque passa a ser o ponto primrio de contato para os usurios Confirme seu entendimento sobre toque Continue usando o event listener onTouch com MotionEvents MotionEvent.getPointerCount() retorna o nmero de pontos de toque MotionEvent.getPointerId() possibilita detectar dedos separadamente Consulte o post do blog de Adam Powell Making Sense of Multitouch

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 35

Telefonia
Perspectiva do dispositivo
Dispositivos CDMA, UMTS/GMS tm um rdio para suporte a redes 4G/LTE Com suporte a um subconjunto de framework de telefonia (android.telephony.TelephonyManager)

Perspectiva do aplicativo
Sem suporte a recurso de telefonia <uses-feature android:name=android.hardware.telephony android:required=true/>

Vrias configuraes para o XOOM


Somente WiFi, UMTS/GSM, CDMA TelephonyManager.getDeviceId() as informaes no sero as mesmas Geralmente retorna IMEI ou MIED: dispositivo WiFi retorna nulo
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 36

Telefonia (cont.)
Obteno de identificadores exclusivos: pense em por que voc est obtendo os dados. Voc est tentando rastrear o hardware ou o aplicativo?
O hardware de rastreamento precisa que ele seja mantido na redefinio de fbrica. O aplicativo de rastreamento precisa que o valor seja redefinido na redefinio de fbrica.

MAC Address (no recomendado)


Nem todos os dispositivos tm WiFi. Alm disso, se o WiFi no estiver ativado, o hardware pode no reportar o MAC address.

Nmero de srie (no recomendado)


Somente garantido em dispositivos sem telefonia.

ANDROID_ID (talvez)
Gerada e armazenada quando o dispositivo iniciado pela primeira vez. redefinida quando o dispositivo apagado. No garantido em dispositivos anteriores ao Android 2.2

Nova recomendao criar seu prprio ID nico e grav-lo em seu arquivo compartilhado de preferncias
Por exemplo: uniqueID = UUID.randomUUID.toString()
2010 Motorola Mobility, Inc.

SDK Honeycomb targetSdkVersion Layouts Tratamento de excees

10 coisas..

Modo de compatibilidade Drawables Texto Permisses e features Mantendo a base de cdigo SDK Honeycomb

MOTODEV App Summit 2011

Pgina 38

10 coisas que voc pode fazer agora mesmo


1. Baixar o SDK Honeycomb (e ferramentas atualizadas) e testar o seu aplicativo no emulador. 2. Alterar o targetSdkVersion para 11 e ver o que muda. 3. Adicionar as pastas /res/layout-xlarge e /res/layoutxlarge-port ao seu projeto com layouts otimizados para a tela maior. 4. Atualizar a manipulao de erros para fechar gentilmente em vez de padronizar com ANRs ou deixar o usurio "pendurado". 5. Verificar se o aplicativo est em modo de compatibilidade.
a. b. c. minSdkVersion=3 no targetSdkVersion; compilar com 1.5 minSdkVersion=3 and targetSdkVersion=3; compilado com qualquer SDK > 1.5 Efeito Shadowbox
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 39

10 coisas que voc pode fazer (cont.)

Definir targetSdkVersion >= 4 e compilar com SDK >= 1.6


2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 40

10 coisas que voc pode fazer agora mesmo (cont.)


6. Rever grficos em /res/drawable-<density>

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 41

10 coisas que voc pode fazer agora mesmo (cont.)


Usar a ferramenta 9-patch para criar uma regio amplivel Pr fundo da tela em ImageView e definir scaleType=centerCrop
<ImageView android:src="@drawable/background android:layout_width="match_parent android:layout_height="match_parent android:scaleType="centerCrop" />

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 42

10 coisas que voc pode fazer agora mesmo (cont.)


Imagens padronizadas podem ser colocadas lado a lado
/res/layout/main.xml <LinearLayout android:background=@drawable/background /res/layout/background.xml <bitmap xmlns:android= "http://schemas.android.com/apk/res/android android:src="@drawable/baseimage android:tileMode="repeat android:filter="true android:dither="true" />

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 43

10 coisas que voc pode fazer agora mesmo (cont.)


Ler em createScaledBitmap() usando as dimenses de DisplayMetrics
BitmapDrawable backgroundImage = (BitmapDrawable)getResources().getDrawable (R.drawable.background); Bitmap backgroundBitmap = backgroundImage.getBitmap(); backgroundBitmap = Bitmap.createScaledBitmap (backgroundBitmap, dm.widthPixels, // exibir largura de mtrica dm.heightPixels, // exibir altura de mtrica true); // ativar filtragem

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 44

10 coisas que voc pode fazer agora mesmo (cont.)


7. Verificar se o texto est legvel e flui bem na tela maior.
Otimizar o texto para aproveitar o espao (1280 x 800)

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 45

10 coisas que voc pode fazer agora mesmo (cont.)


Criar 2 tags <dimens> diferentes em /res/values e /res-valuesxlarge com 2 tamanhos de fonte diferentes (os dois em unidades de sp)

Adicionar @dimen/<variable> propriedade <style> textSize


<style name=readText" parent="@android:style/TextAppearance"> <item name="android:textSize">@dimen/font_size</item> <item name="android:textColor">#000000</item> </style>

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 46

10 coisas que voc pode fazer agora mesmo (cont.)


8. Verificar suas permisses e a tag <uses-feature> que pode filtrar o seu aplicativo do mercado.
Permisses no filtram o aplicativo, a tag <uses-feature> filtra. O XOOM no tem telefonia mais ou menos.
<uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission android:name=CALL_PHONE /> android:name=CALL_PRIVILEGED /> android:name=MODIFY_PHONE_STATE android:name=PROCESS_OUTGOING_CALLS /> android:name=READ_SMS /> android:name=RECEIVE_SMS /> android:name=RECEIVE_MMS /> android:name=RECEIVE_WAP_PUSH /> android:name=SEND_SMS /> android:name=WRITE_APN_SETTINGS /> android:name=WRITE_SMS />

a* mplic *i

<uses-feature android:name=android.hardware.telephony android:required=true/>

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 47

10 coisas que voc pode fazer agora mesmo (cont.)


Voc deve explicitamente definir android:required="false se quiser ver o aplicativo no XOOM Executar a ferramenta aapt no seu apk para mostrar recursos explcitos $ aapt dump badging <path_to_exported_.apk>
$ ./aapt dump badging BTExample.apk package: name='com.example.android.btexample' versionCode='' versionName='' uses-permission:'android.permission.BLUETOOTH_ADMIN' uses-feature:'android.hardware.bluetooth' sdkVersion:'3' targetSdkVersion:'5 <. . .>

Executar o MOTODEV App Validator para mostrar recursos implcitos http://developer.motorola.com/testing/app-validator/


2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 48

10 coisas que voc pode fazer agora mesmo (cont.)


9. Determinar como gerenciar a sua base de cdigo. A recomendao oficial manter uma abordagem binria nica. Lembre-se de que, com a biblioteca de compatibilidade, voc pode usar fragmentos at o 1.6. 10. Baixar o SDK Honeycomb (e ferramentas atualizadas) e testar o seu aplicativo no emulador.

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 49

Widgets redimensionveis Entrada e movimento

Android 3.1 API Level 12

USB APIs Suporte a MTP/PTP Real-Time Transport Protocol (RTP) Fragment Breadcrumbs

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 50

Widgets Redimensionveis
Widgets da Homescreen podem ser redimensionados
horizontalmente, verticalmente, ou em ambos os eixos

Defina um atributo resizemode nas propriedades do widget AppWidgetProviderInfo


<appwidget-provider xmlns:android="http://schemas.android.com/apk/ res/android" android:minWidth="294dp" android:minHeight="72dp" android:updatePeriodMillis="86400000" android:previewImage="@drawable/preview" android:initialLayout="@layout/example_appwidget android:configure="com.example.android.ExampleAppWidgetConfigure" android:resizeMode="horizontal|vertical" > </appwidget-provider>
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 51

Tipos de Entrada e Eventos de Movimento


Sistema de eventos de entrada foi extendido para suportar uma variedade de novas fontes de entrada e de movimento, em todas as views e janelas Para entradas via mouse e trackball, a plataforma suporta dois novos eventos de movimento
ACTION_SCROLL (horizontal ou vertical) prov a localizao de onde o movimento de rolamento aconteceu, como por exemplo de um boto de rolagem do mouse ACTION_HOVER_MOVE reporta a localizao do mouse quando nenhum boto foi pressionado

Eventos de movimento de joysticks, gamepads, mouse e trackballs no so considerados eventos de toque


Novo mtodo de callback para que estes sejam passados para Views como eventos de movimento genricos atravs de uma chamada para onGenericMotionEvent(), ao invs de onTouchEvent()
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 52

USB APIs
Suporte embutido da plataforma para USB em modo servidor que oferece um API aos desenvolvedores que permite que os aplicativos gerenciem perifricos conectados
Modo servidor confia no controlador apropriado de hardware do USB presente no seu device Android Nos dispositivos que suportam modo servidor, como o XOOM, aplicativos podem usar a API para identificar e se comunicar com os dispositivos conectados

Tambm suporta dois novos tipos bsicos de hardware conectados (depende se o dispositivo Android est atuando como servidor)
Dispositivo USB : hardware conectado que depende de um dispositivo Android atuando como servidor (cmeras, teclado, mouse) Acessrio USB: hardware conectado que possui um servidor controlador USB (robs)

As APIs USB esto disponveis no pacote android.hardware.usb


2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 53

MTP/PTP Support
Novo pacote android.mtp
Classes MtpDevice, MtpDeviceInfo, MtpConstants

APIs permitem aos aplicativos interagir diretamente com cmeras conectadas e outros dispositivos PTP (Picture Transfer Protocol) conectados via USB modo servidor
Instancie um objeto MtpDevice referenciando um UsbDevice Abra a conexo e transfira os dados Obtenha informaes sobre os dispositivos e os objetos armazenados nele Receba notificaes quando os dispositivos forem conectados ou removidos

O aplicativo Gallery agora suporta PTP, para que usurios possam conectar suas cmeras atravs de portas USB e importem fotos para a Gallery em um nico toque
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 54

DEMO

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 55

Mais informaes: developer.motorola.com


Ferramentas
MOTODEV Studio: IDE baseado em eclipse com recursos adicionais (localizao de segmentos, gerenciador de banco de dados) App Validator: ferramenta online para pr-testar a compatibilidade de aplicativos Android com dispositivos

Artigos tcnicos
Motorola XOOM Programming Tips (Dicas de programao para o Motorola XOOM) Understanding Texture Compression (Entendendo a compresso de texturas)

Especificaes de produtos
http://developer.motorola.com/products/xoom/

Fruns de discusso
- http://community.developer.motorola.com/
2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 56

Perguntas?
Brasil - #appsum11br Argentina - #appsum11ar Mxico - #appsum11mx community.developer.motorola.com

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 57

Obrigada!!

2010 Motorola Mobility, Inc.

MOTODEV App Summit 2011

Pgina 58

AVISOS LEGAIS
AVISOS SOBRE LICENA Exceto quando indicado, o cdigo-fonte de amostra escrito pela Motorola Mobility Inc. e fornecido para voc licenciado conforme descrito adiante. Copyright 2010-2011, Motorola, Inc. Todos os direitos reservados, exceto se indicado explicitamente de outra forma. A redistribuio e utilizao nas formas binria e de fonte, com ou sem modificao, so permitidas contanto que as seguintes condies sejam cumpridas: As redistribuies do cdigo-fonte devem manter o aviso de direitos autorais acima, esta lista de condies e a declarao de iseno de responsabilidade a seguir. As redistribuies em forma binria devem reproduzir o aviso de direitos autorais acima, esta lista de condies e a declarao de iseno de responsabilidade a seguir em sua documentao e/ou outro material fornecido com a distribuio. O nome da Motorola, Inc. e os nomes de seus contribuidores no podem ser usados para endossar ou promover produtos derivados deste software sem permisso especfica prvia por escrito. ESTE SOFTWARE FORNECIDO PELOS TITULARES DOS DIREITOS AUTORAIS E CONTRIBUIDORES "NA FORMA EM QUE SE ENCONTRA" E QUALQUER GARANTIA, EXPRESSA OU IMPLCITA, INCLUINDO, MAS SEM LIMITAO A, GARANTIAS IMPLCITAS DE COMERCIABILIDADE E ADEQUAO A UMA FINALIDADE ESPECFICA, RENUNCIADA. EM CIRCUNSTNCIA ALGUMA O TITULAR DOS DIREITOS AUTORAIS OU CONTRIBUIDORES SERO RESPONSABILIZADOS POR QUALQUER DANO DIRETO, INDIRETO, INCIDENTAL, ESPECIAL, EXEMPLAR OU CONSEQUENTE (INCLUSIVE, SEM LIMITAO A, AQUISIO DE BENS OU SERVIOS SUBSTITUTOS; PERDA DE USO, DADOS OU LUCROS; OU INTERRUPO DE NEGCIOS) SEJA QUAL FOR A CAUSA E SOBRE QUALQUER TEORIA DE RESPONSABILIDADE, SEJA EM CONTRATO, RESPONSABILIDADE OBJETIVA OU ATO ILCITO (INCLUSIVE NEGLIGNCIA) DE ALGUMA FORMA DECORRENTE DO USO DESTE SOFTWARE, MESMO SE TIVEREM SIDO AVISADOS DA POSSIBILIDADE DE TAL DANO. Outros cdigos-fonte exibidos nesta apresentao podem ser oferecidos sob outras licenas. Apache 2.0 Copyright 2010, Android Open Source Project. Todos os direitos reservados, a menos se indicado explicitamente de outra forma. Licenciado segundo a Licena do Apache, Verso 2.0 (a "Licena"); voc no pode usar este arquivo, exceto em conformidade com a Licena. Uma cpia da Licena pode ser obtida em http://www.apache.org/licenses/LICENSE-2.0. A menos que seja exigido pela lei aplicvel ou haja acordo por escrito, o software distribudo sob a Licena fornecido "NA FORMA EM QUE SE ENCONTRA", SEM GARANTIAS OU CONDIES DE NENHUM TIPO, expressas ou implcitas. Consulte a Licena para saber as permisses e limitaes regentes de idiomas especficos. Licena Creative Commons Atribuio 3.0 Partes desta apresentao so reproduzidas a partir do trabalho criado e compartilhado pela Google (http://code.google.com/policies.html) e so usadas de acordo com os termos descritos na Licena Creative Commons Atribuio 3.0 (http://creativecommons.org/licenses/by/3.0/).

2010 Motorola Mobility, Inc.

Potrebbero piacerti anche