nokia sdk for java
TRANSCRIPT
![Page 1: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/1.jpg)
Nokia SDK for Java
![Page 2: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/2.jpg)
O que é?
SDK para Series 40 6th Edition FP 1
![Page 3: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/3.jpg)
Series 40
• 1,5 bilhão de aparelhos (final de 2010)
• Suportam apps JavaME e Flash Lite
• O SO não é Symbian
![Page 4: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/4.jpg)
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
![Page 5: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/5.jpg)
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
![Page 6: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/6.jpg)
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
![Page 7: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/7.jpg)
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
![Page 8: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/8.jpg)
Series 40 3a Edição FP 2
• JavaME MIDP 2.0, CLDC 1.1
• JSR 177 (pacote APDU apenas)
• Flash Lite 2.0
![Page 9: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/9.jpg)
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
![Page 10: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/10.jpg)
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
![Page 11: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/11.jpg)
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
![Page 12: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/12.jpg)
Nokia SDK 1.0 Beta for Java
30 de março de 2011
https://projects.developer.nokia.com/NokiaSDKJava
![Page 13: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/13.jpg)
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
![Page 14: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/14.jpg)
Nokia UI API 1.1b
• Gesture API e Frame Animator API
• LCDUIUtil suporta Touch Screen
• AudioOutputControl
• TextEditor e CanvasGraphicsItem
• Clipboard
![Page 15: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/15.jpg)
Gesture API
Passo 1: definir uma zona e um tipo de interação
![Page 16: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/16.jpg)
Gesture API
Passo 2: registrar as zonas no Gerenciador de Gestos
![Page 17: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/17.jpg)
Gesture API Passo 3: definir e implementar um GestureListener
GestureListener define apenas o método gestureAction()
gestureEvent.getType() indica o tipo realizado
![Page 18: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/18.jpg)
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)
![Page 19: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/19.jpg)
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?
![Page 20: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/20.jpg)
Frame Animator API
Passo 2: implementar animate() do listener
![Page 21: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/21.jpg)
Frame Animator API
Passo 3: integrar com a Gesture API
Drag and Drop
Flick
![Page 22: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/22.jpg)
Exercício
Implementar um Drag and Drop em Canvas
![Page 23: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/23.jpg)
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
![Page 24: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/24.jpg)
LCDUIUtil
LCDUIUtil.getObjectTrait()
Exemplo de Uso
![Page 25: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/25.jpg)
LCDUIUtil
LCDUIUtil.setObjectTrait()
Exemplo de Uso
![Page 26: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/26.jpg)
LCDUIUtil - Exemplos
nokia.ui.s40.item.substate
Alvo: javax.microedition.lcdui.Item
![Page 27: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/27.jpg)
LCDUIUtil - Exemplos
![Page 28: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/28.jpg)
LCDUIUtil - Exemplos
nokia.ui.s40.item.direct_touch
Alvo: javax.microedition.lcdui.CustomItem
![Page 29: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/29.jpg)
LCDUIUtil - Exemplos
![Page 30: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/30.jpg)
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.
![Page 31: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/31.jpg)
AudioOutputControl
![Page 32: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/32.jpg)
AudioOutputControl
![Page 33: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/33.jpg)
TextEditor
Similar a TextField e TextBox do LCDUI.
Suporte a Touch Screen
Virtual Keyboard Handwrite Recognition
![Page 34: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/34.jpg)
TextEditor
![Page 35: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/35.jpg)
Criando um TextEditor
![Page 36: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/36.jpg)
Criando um TextEditor
![Page 37: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/37.jpg)
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.
![Page 38: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/38.jpg)
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.
![Page 39: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/39.jpg)
In-App Purchase
Finalmente é possível com o Nokia SDK for Java 1.0 para dispositivos Series 40.
![Page 40: Nokia SDK for Java](https://reader034.vdocuments.com.br/reader034/viewer/2022042505/5572c7dad8b42abb378b4b9e/html5/thumbnails/40.jpg)
In-App Purchase
Como os recursos são disponibilizados?
Bundled in the app or
On a publisher back end server