SlideShare uma empresa Scribd logo
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
obrigado
e-mail: erisvaldo@yupistudios.com.br
web: http://www.yupistudios.com.br
twitter: @yupistudiosBR

Mais conteúdo relacionado

Semelhante a Nokia SDK for Java

Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
Ronildo Oliveira
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010
Bernardo Porto
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
Erisvaldo Junior
 
ReMobile - Nokia Web Runtime
ReMobile - Nokia Web RuntimeReMobile - Nokia Web Runtime
ReMobile - Nokia Web Runtime
felipebzr
 
Desenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-TouchDesenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-Touch
Campus Party Brasil
 
JavaME - Aula 1
JavaME - Aula 1JavaME - Aula 1
JavaME - Aula 1
Elenilson Vieira
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
Juarez Junior
 
Introducing Mobile Development for Web Developers
Introducing Mobile Development for Web DevelopersIntroducing Mobile Development for Web Developers
Introducing Mobile Development for Web Developers
felipebzr
 
TDC2016SP - Trilha .NET
TDC2016SP - Trilha .NETTDC2016SP - Trilha .NET
TDC2016SP - Trilha .NET
tdc-globalcode
 
OpenKinect, o Kinect para todos
OpenKinect, o Kinect para todosOpenKinect, o Kinect para todos
OpenKinect, o Kinect para todos
Campus Party Brasil
 
18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phones18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phones
Juarez Junior
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
Natanael Fonseca
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
Thiago Soares
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
Fernando Ike
 
Desenvolvimento para iOS
Desenvolvimento para iOSDesenvolvimento para iOS
Desenvolvimento para iOS
Igor Takenami
 
Silverlight
SilverlightSilverlight
Construindo aplicações para o Windows Phone com Silverlight
Construindo aplicações para o Windows Phone com Silverlight  Construindo aplicações para o Windows Phone com Silverlight
Construindo aplicações para o Windows Phone com Silverlight
Luciano Condé
 
Introdução ao cocos sharp
Introdução ao cocos sharpIntrodução ao cocos sharp
Introdução ao cocos sharp
José Farias
 
Desenvolvimento RIA com Java
Desenvolvimento RIA com JavaDesenvolvimento RIA com Java
Desenvolvimento RIA com Java
armeniocardoso
 
Curso Python for S60
Curso Python for S60Curso Python for S60
Curso Python for S60
Osvaldo Santana Neto
 

Semelhante a Nokia SDK for Java (20)

Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
ReMobile - Nokia Web Runtime
ReMobile - Nokia Web RuntimeReMobile - Nokia Web Runtime
ReMobile - Nokia Web Runtime
 
Desenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-TouchDesenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-Touch
 
JavaME - Aula 1
JavaME - Aula 1JavaME - Aula 1
JavaME - Aula 1
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
 
Introducing Mobile Development for Web Developers
Introducing Mobile Development for Web DevelopersIntroducing Mobile Development for Web Developers
Introducing Mobile Development for Web Developers
 
TDC2016SP - Trilha .NET
TDC2016SP - Trilha .NETTDC2016SP - Trilha .NET
TDC2016SP - Trilha .NET
 
OpenKinect, o Kinect para todos
OpenKinect, o Kinect para todosOpenKinect, o Kinect para todos
OpenKinect, o Kinect para todos
 
18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phones18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phones
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Desenvolvimento para iOS
Desenvolvimento para iOSDesenvolvimento para iOS
Desenvolvimento para iOS
 
Silverlight
SilverlightSilverlight
Silverlight
 
Construindo aplicações para o Windows Phone com Silverlight
Construindo aplicações para o Windows Phone com Silverlight  Construindo aplicações para o Windows Phone com Silverlight
Construindo aplicações para o Windows Phone com Silverlight
 
Introdução ao cocos sharp
Introdução ao cocos sharpIntrodução ao cocos sharp
Introdução ao cocos sharp
 
Desenvolvimento RIA com Java
Desenvolvimento RIA com JavaDesenvolvimento RIA com Java
Desenvolvimento RIA com Java
 
Curso Python for S60
Curso Python for S60Curso Python for S60
Curso Python for S60
 

Mais de Erisvaldo Junior

A Era da Mobilidade
A Era da MobilidadeA Era da Mobilidade
A Era da Mobilidade
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1
Erisvaldo Junior
 
Desenvolvimento de apps e games para android parte 8
Desenvolvimento de apps e games para android   parte 8Desenvolvimento de apps e games para android   parte 8
Desenvolvimento de apps e games para android parte 8
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1
Erisvaldo Junior
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
Erisvaldo Junior
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
Erisvaldo Junior
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
Erisvaldo Junior
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
Erisvaldo Junior
 
Java me generic connection framework
Java me   generic connection frameworkJava me   generic connection framework
Java me generic connection framework
Erisvaldo Junior
 
Introdução a api de baixo nível do java me
Introdução a api de baixo nível do java meIntrodução a api de baixo nível do java me
Introdução a api de baixo nível do java me
Erisvaldo Junior
 
Introdução a game api do java me
Introdução a game api do java meIntrodução a game api do java me
Introdução a game api do java me
Erisvaldo Junior
 
O futuro do Android
O futuro do AndroidO futuro do Android
O futuro do Android
Erisvaldo Junior
 

Mais de Erisvaldo Junior (20)

A Era da Mobilidade
A Era da MobilidadeA Era da Mobilidade
A Era da Mobilidade
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2
 
Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1
 
Desenvolvimento de apps e games para android parte 8
Desenvolvimento de apps e games para android   parte 8Desenvolvimento de apps e games para android   parte 8
Desenvolvimento de apps e games para android parte 8
 
Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5
 
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
 
Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3
 
Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2
 
Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
 
Java me generic connection framework
Java me   generic connection frameworkJava me   generic connection framework
Java me generic connection framework
 
Introdução a api de baixo nível do java me
Introdução a api de baixo nível do java meIntrodução a api de baixo nível do java me
Introdução a api de baixo nível do java me
 
Introdução a game api do java me
Introdução a game api do java meIntrodução a game api do java me
Introdução a game api do java me
 
O futuro do Android
O futuro do AndroidO futuro do Android
O futuro do Android
 

Último

Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 

Último (8)

Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 

Nokia SDK for Java

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