Upload
erisvaldo-junior
View
1.644
Download
3
Embed Size (px)
Citation preview
Nokia SDK for Java
O que é?
SDK para Series 40 6th Edition FP 1
Series 40
• 1,5 bilhão de aparelhos (final de 2010)
• Suportam apps JavaME e Flash Lite
• O SO não é Symbian
Series 40 1a Edição (2002)
• JavaME MIDP 1.0, CLDC 1.0 e Nokia UI API
• Navegador WAP com suporte a WML
• Resolução 128x128
Series 40 2a Edição
• JavaME MIDP 2.0, CLDC 1.0
• WMA, MMAPI e APIs Bluetooth (JSR 82)
• Navegador com suporte a XHTML MP
• Resolução 128x160
Series 40 3a Edição (2005)
• JavaME MIDP 2.0, CLDC 1.1
• FileConnection and PIM APIs e
M3G (JSR 184)
• Navegador WAP 2.0 (ECMAScript)
• Resolução 128x160
Series 40 3a Edição FP 1
• JavaME MIDP 2.0, CLDC 1.1
• WMA 2.0 (JSR 205)
• Scalable 2D Vector Graphics API (JSR 226)
• Flash Lite 1.1
• Suporte a Themes
Series 40 3a Edição FP 2
• JavaME MIDP 2.0, CLDC 1.1
• JSR 177 (pacote APDU apenas)
• Flash Lite 2.0
Series 40 5a Edição
• JavaME MIDP 2.0, CLDC 1.1
• JSR 177 (APDU e CRYPTO)
• JSR 234 (música e áudio 3D apenas)
• Flash Lite 2.1
Series 40 6a Edição FP1 (2010)
• Touch and Type UI
• Suporte nativo para
componentes LCDUI de
alto nível
• Alert, List, Form e TextBox
• Canvas
• Gesture API
• Pointer event methods
Series 40 6a Edição FP1 (2010)
• Location API (JSR-184)
• Advanced Multimedia Supplements 1.1
(JSR-234)
• Web Services Java API (JSR-172)
• In-App Purchasing (alpha), Drag and Drop
Nokia SDK 1.0 Beta for Java
30 de março de 2011
https://projects.developer.nokia.com/NokiaSDKJava
Nokia SDK 1.0 for Java
29 de julho de 2011
http://www.developer.nokia.com/info/sw.nokia.com/id/4a94a6d5-c7f4-487f-b1d0-c9f269030dc1/Nokia_SDK_for_Java.html
Nokia UI API 1.1b
• Gesture API e Frame Animator API
• LCDUIUtil suporta Touch Screen
• AudioOutputControl
• TextEditor e CanvasGraphicsItem
• Clipboard
Gesture API
Passo 1: definir uma zona e um tipo de interação
Gesture API
Passo 2: registrar as zonas no Gerenciador de Gestos
Gesture API Passo 3: definir e implementar um GestureListener
GestureListener define apenas o método gestureAction()
gestureEvent.getType() indica o tipo realizado
Frame Animator API
• FrameAnimator + FrameAnimatorListener
• Independente da Gesture API
• Dois tipos de animações:
• Drag (equivalente ao Gesture Event)
• Kinetic Scroll (equivalente ao Flick Gesture Event)
Frame Animator API
Passo 1: criar um FrameAnimator e registrar o listener
• maxFps: porcentagem do valor padrão da plataforma de frames por segundo
• maxPps: porcentagem do valor padrão da plataforma de pixels por segundo
Como Obter os valores padrão da plataforma?
Frame Animator API
Passo 2: implementar animate() do listener
Frame Animator API
Passo 3: integrar com a Gesture API
Drag and Drop
Flick
Exercício
Implementar um Drag and Drop em Canvas
LCDUIUtil
• Dois métodos estáticos:
• getObjectTrait() e setObjectTrait()
• Dois “traits”:
• “nokia.ui.s40.item.substate” : controlar se itens de form
(DateField, TextField, Gauge) usam estilo de edição inline
ou sub-state screen
• “nokia.ui.s40.item.direct_touch” : controlar se um
CustomItem pode receber eventos sem estar
previamente selecionado
LCDUIUtil
LCDUIUtil.getObjectTrait()
Exemplo de Uso
LCDUIUtil
LCDUIUtil.setObjectTrait()
Exemplo de Uso
LCDUIUtil - Exemplos
nokia.ui.s40.item.substate
Alvo: javax.microedition.lcdui.Item
LCDUIUtil - Exemplos
LCDUIUtil - Exemplos
nokia.ui.s40.item.direct_touch
Alvo: javax.microedition.lcdui.CustomItem
LCDUIUtil - Exemplos
AudioOutputControl
• Saída de Áudio pode ser Privada ou Pública
• AudioOutputControl permite controlar a saída
• Exemplo 1: um tocador de música pode rotear a
saída baseado na localização do usuário.
• Exemplo 2: um leitor de e-mails (por voz) pode
dar ao usuário a opção de escolher se quer
escutar no fone de ouvido ou no viva-voz.
AudioOutputControl
AudioOutputControl
TextEditor
Similar a TextField e TextBox do LCDUI.
Suporte a Touch Screen
Virtual Keyboard Handwrite Recognition
TextEditor
Criando um TextEditor
Criando um TextEditor
CanvasGraphicsItem
Similar ao Canvas, roda “sobre” ele.
Principais usos: popups, listas de opções, ponteiros, cursor.
Possui um pai que deve ser definido antes de qualquer operação.
Clipboard
Observação:
Há, também, o copyFromCliboard(), que retorna uma String com o conteúdo da área de transferência.
Contudo, esse método NÃO é suportado nos dispositivos
Series 40.
In-App Purchase
Finalmente é possível com o Nokia SDK for Java 1.0 para dispositivos Series 40.
In-App Purchase
Como os recursos são disponibilizados?
Bundled in the app or
On a publisher back end server