SlideShare a Scribd company logo
1 of 26
Game Development for
Nokia Asha Devices
with Java ME
                      Marlon Luz - INdT
              Nokia Developer Evangelist
                            @marlonluz
WHAT IS THE
                                      CENTER OF
INdT?                            RESEARCH
                            & DEVELOPMENT
                                        nonprofit
 with focus in development of

new concepts,
products & solutions
               for areas related to


             mobile tecnologies and internet
Training Content
 •   Talk on games
 •   Nokia App Store
 •   Nokia Platforms
 •   Introduction to Java ME Development
 •   Game API
 •   Publishing your game
Mobile Games
               •   Player Experience
               •   Idea
               •   Design
               •   Audio
               •   Coding
Nokia App Store
Nokia App Store, Series40 & JavaME

  120k+ apps, 15m downloads/day

Brasil: 150m downloads (total), 50m in
 2012, 500k per day, 56% in Series 40,
   73% of purchases are JavaME apps
Nokia Platforms




   Java apps   Phones
               Series 40




                           Silverlight, XNA
Mobile Platforms




http://gs.statcounter.com/#mobile_os-ww-monthly-201201-201212
Mobile Platforms




http://gs.statcounter.com/#mobile_os-af-monthly-201201-201212
Mobile Platforms




http://gs.statcounter.com/#mobile_os-as-monthly-201201-201212
Nokia SDK 2.0 for Java
• Emulates the device
  environment
• Location, contactos, etc.
• Emulates mobile events
  like battery, sms, etc.
• IDE Integration
Development
• IDE Installation
• Overview JavaME
• First Project
JavaME Overview
• Java Micro Edition (ME) is the Java for devices with
  limited resources
• Java ME brings a common platform for devices like:
   •   Mobile phones
   •   Pagers
   •   PDAs
   •   Set-top boxes
• Java ME defines a set of configurations, profiles e
  optional APIs;
• Java ME enables the developers to create
  applications for a large number of devices;
Configurations
• Support a wide variety of products that fit within
  the scope of J2ME;
• Defines a Java platform for a wide variety of
  devices, also defines a JVM (Java Virtual
  Machine) and the minimum set of class libraries
  available:
   • Connected Device Configuration (CDC)
   • Connected Limited Device Configuration (CLDC)
CLDC
•   128 kilobytes of memory to run Java;
•   32 kilobytes for memory allocation in runtime;
•   No user interface;
•   Low power processing, battery enabled device;
•   16-32 Mhz Processor
Profiles
• Needed APIs to develop applications for a
  specific set of devices
   •   MIDP
   •   IMP
   •   PBP
   •   ...
MIDP
• Mobile Information Device Profile;
• MIDP defines the following set of classes:
• Application Lifecycle Package
• User Interface Package




                                                                                  Mobile Information
• Persistence Package




                                                                                   Device Profile
                                                        Networking


                                                                     Persistent
                                            Interface




                                                                      Storage
• Networking Package



                                   MIDlet


                                              User
                                   APIs
• Language and Utility Packages



                                                                 CLDC Core classes
                                                                     CLDC or KVM
MIDP
• 3 versions available:
                               MIDP 1.0          MIDP 2.0
  Memory Requirement       At least 200KB   At least 256KB
  High/Low-Level UI

  Network API

  Persistent Storage API

  Game API

  Secure networking

  Push Registry

  Signed MIDlets
MIDlets
• Apps Java that run on MIDP devices are known
  as MIDlets
• MIDlets are defined in the
  javax.microedition.midlet package
• Child of the abstract class
  javax.microedition.midlet.MIDlet
• Life cycle defined and managed by methods
  implemented in the MIDlet;
MIDlets
• An application manager controls the MIDlet running
• The MIDlet behavior is controlled by a life cycle
  through methods that a MIDlet has to implement
 default constructor()

                         startApp()
            Paused                        Active
                         pauseApp()


      destroyApp()                      destroyApp()
                          Destroyed
MIDlets
 • The platform can change the state from Active to
   Paused at any time


                       startApp()
         Paused                           Active
                       pauseApp()


   destroyApp()                        destroyApp()
                        Destroyed
MIDlets
 • The method destroyApp() of a MIDlet is called when
   the platform needs shutdown a MIDlet


                     startApp()
       Paused                           Active
                     pauseApp()


  destroyApp()                       destroyApp()
                      Destroyed
MIDlets
 • Let´s see how to implement a MIDlet
   #stopTalking
   #startCoding
JAD and JAR
 • JAD (Java Application Descriptor)
    • Provides information on the content of a JAR file

 • JAR (Java Archive)
    • Packaging various kinds of information (classes, images,
      audio, data)

 • Attributes JAR/JAD
Development process
 Development Station    MyMIDlet.jad


   MyMIDlet.java                Download
                                 /deploy

        javac                              Target Devices

                                Download
   MyMIDlet.class                /deploy

                       MyMIDlet.jar
      preverify


    MyMIDlet.class        jar
Thanks
             Marlon Luz
 ext-marlon.luz@nokia.com
               @marlonluz

More Related Content

What's hot

Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Wambua Wambua
 
Mobile Showcase Moblin2
Mobile Showcase Moblin2Mobile Showcase Moblin2
Mobile Showcase Moblin2Tomas Bennich
 
Ruckus BYOD whitepaper
Ruckus BYOD whitepaperRuckus BYOD whitepaper
Ruckus BYOD whitepaperMichal Jarski
 
Novell ZENworks Overview and Futures
Novell ZENworks Overview and FuturesNovell ZENworks Overview and Futures
Novell ZENworks Overview and FuturesNovell
 
Novell SecureLogin Installation, Deployment, Lifecycle Management and Trouble...
Novell SecureLogin Installation, Deployment, Lifecycle Management and Trouble...Novell SecureLogin Installation, Deployment, Lifecycle Management and Trouble...
Novell SecureLogin Installation, Deployment, Lifecycle Management and Trouble...Novell
 
Life Size Virtual Link
Life Size Virtual LinkLife Size Virtual Link
Life Size Virtual LinkAnnie Lavoie
 
MOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSMOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSSenthil Kanth
 

What's hot (15)

J2me
J2meJ2me
J2me
 
J2ME
J2MEJ2ME
J2ME
 
J2ME Unit_01
J2ME Unit_01J2ME Unit_01
J2ME Unit_01
 
Sotona
SotonaSotona
Sotona
 
Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)
 
Mobile Showcase Moblin2
Mobile Showcase Moblin2Mobile Showcase Moblin2
Mobile Showcase Moblin2
 
J2ME
J2MEJ2ME
J2ME
 
Ruckus BYOD whitepaper
Ruckus BYOD whitepaperRuckus BYOD whitepaper
Ruckus BYOD whitepaper
 
Novell ZENworks Overview and Futures
Novell ZENworks Overview and FuturesNovell ZENworks Overview and Futures
Novell ZENworks Overview and Futures
 
Novell SecureLogin Installation, Deployment, Lifecycle Management and Trouble...
Novell SecureLogin Installation, Deployment, Lifecycle Management and Trouble...Novell SecureLogin Installation, Deployment, Lifecycle Management and Trouble...
Novell SecureLogin Installation, Deployment, Lifecycle Management and Trouble...
 
Rococo Software Q409
Rococo Software Q409Rococo Software Q409
Rococo Software Q409
 
Life Size Virtual Link
Life Size Virtual LinkLife Size Virtual Link
Life Size Virtual Link
 
J2ME
J2MEJ2ME
J2ME
 
J2ME GUI Programming
J2ME GUI ProgrammingJ2ME GUI Programming
J2ME GUI Programming
 
MOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSMOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMS
 

Viewers also liked

UConn MBA website rejuvenation appendices
UConn MBA website rejuvenation appendicesUConn MBA website rejuvenation appendices
UConn MBA website rejuvenation appendicesrubylu818
 
UConn MBA website rejuvenation
UConn MBA website rejuvenationUConn MBA website rejuvenation
UConn MBA website rejuvenationrubylu818
 
Aquasent final presentation
Aquasent final presentationAquasent final presentation
Aquasent final presentationrubylu818
 
Professional Exhibition Projects
Professional Exhibition ProjectsProfessional Exhibition Projects
Professional Exhibition Projectsrubylu818
 
Introducing slums the pseudo heavens by ridwanul mosrur
Introducing slums the pseudo heavens by ridwanul mosrurIntroducing slums the pseudo heavens by ridwanul mosrur
Introducing slums the pseudo heavens by ridwanul mosrurRidwanul Mosrur
 
Business Process Improvement plan - SQL
Business Process Improvement plan - SQLBusiness Process Improvement plan - SQL
Business Process Improvement plan - SQLrubylu818
 
Supply Chain Process Improvement Methodology V1
Supply Chain Process Improvement Methodology V1Supply Chain Process Improvement Methodology V1
Supply Chain Process Improvement Methodology V1John Paulson
 
Business process improvement (special report) presentation
Business process improvement (special report) presentationBusiness process improvement (special report) presentation
Business process improvement (special report) presentationMichael Ligayo
 

Viewers also liked (8)

UConn MBA website rejuvenation appendices
UConn MBA website rejuvenation appendicesUConn MBA website rejuvenation appendices
UConn MBA website rejuvenation appendices
 
UConn MBA website rejuvenation
UConn MBA website rejuvenationUConn MBA website rejuvenation
UConn MBA website rejuvenation
 
Aquasent final presentation
Aquasent final presentationAquasent final presentation
Aquasent final presentation
 
Professional Exhibition Projects
Professional Exhibition ProjectsProfessional Exhibition Projects
Professional Exhibition Projects
 
Introducing slums the pseudo heavens by ridwanul mosrur
Introducing slums the pseudo heavens by ridwanul mosrurIntroducing slums the pseudo heavens by ridwanul mosrur
Introducing slums the pseudo heavens by ridwanul mosrur
 
Business Process Improvement plan - SQL
Business Process Improvement plan - SQLBusiness Process Improvement plan - SQL
Business Process Improvement plan - SQL
 
Supply Chain Process Improvement Methodology V1
Supply Chain Process Improvement Methodology V1Supply Chain Process Improvement Methodology V1
Supply Chain Process Improvement Methodology V1
 
Business process improvement (special report) presentation
Business process improvement (special report) presentationBusiness process improvement (special report) presentation
Business process improvement (special report) presentation
 

Similar to Game Development for Nokia Asha Devices with Java ME #1

Intro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformIntro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformJussi Pohjolainen
 
Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)Wambua Wambua
 
JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007Edoardo Schepis
 
Android application development
Android application developmentAndroid application development
Android application developmentFahad A. Shaikh
 
Android village @nullcon 2012
Android village @nullcon 2012 Android village @nullcon 2012
Android village @nullcon 2012 hakersinfo
 
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008JUG Lausanne
 
City search documentation
City search documentationCity search documentation
City search documentationRajesh Varanasi
 
2 mobile development frameworks and tools dark temp
2   mobile development frameworks and tools dark temp2   mobile development frameworks and tools dark temp
2 mobile development frameworks and tools dark tempShahid Riaz
 
Java ME CLDC MIDP
Java ME CLDC MIDPJava ME CLDC MIDP
Java ME CLDC MIDPSMIJava
 
Mobile Application Development JEDI
Mobile Application Development JEDIMobile Application Development JEDI
Mobile Application Development JEDIAlver Noquiao
 
ANDROID- AN OPEN MOBILE SOFTWARE PLATFORM
ANDROID- AN OPEN MOBILE SOFTWARE PLATFORMANDROID- AN OPEN MOBILE SOFTWARE PLATFORM
ANDROID- AN OPEN MOBILE SOFTWARE PLATFORMSHASHI JAISWAL
 
Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011Agora Group
 

Similar to Game Development for Nokia Asha Devices with Java ME #1 (20)

03 midp
03 midp03 midp
03 midp
 
Intro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformIntro to Java ME and Asha Platform
Intro to Java ME and Asha Platform
 
Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)
 
Introduction to Java ME
Introduction to Java MEIntroduction to Java ME
Introduction to Java ME
 
Java me introduction
Java me   introductionJava me   introduction
Java me introduction
 
Java me introduction
Java me   introductionJava me   introduction
Java me introduction
 
JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007
 
Android application development
Android application developmentAndroid application development
Android application development
 
Android village @nullcon 2012
Android village @nullcon 2012 Android village @nullcon 2012
Android village @nullcon 2012
 
The Java Story
The Java StoryThe Java Story
The Java Story
 
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
 
City search documentation
City search documentationCity search documentation
City search documentation
 
2 mobile development frameworks and tools dark temp
2   mobile development frameworks and tools dark temp2   mobile development frameworks and tools dark temp
2 mobile development frameworks and tools dark temp
 
Java ME CLDC MIDP
Java ME CLDC MIDPJava ME CLDC MIDP
Java ME CLDC MIDP
 
Mobile Application Development JEDI
Mobile Application Development JEDIMobile Application Development JEDI
Mobile Application Development JEDI
 
JavaAndNetBeans.pdf
JavaAndNetBeans.pdfJavaAndNetBeans.pdf
JavaAndNetBeans.pdf
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
Symbian os
Symbian osSymbian os
Symbian os
 
ANDROID- AN OPEN MOBILE SOFTWARE PLATFORM
ANDROID- AN OPEN MOBILE SOFTWARE PLATFORMANDROID- AN OPEN MOBILE SOFTWARE PLATFORM
ANDROID- AN OPEN MOBILE SOFTWARE PLATFORM
 
Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011
 

More from Marlon Luz

Como a Microsoft faz software: Desgerenciando Pessoas
Como a Microsoft faz software: Desgerenciando PessoasComo a Microsoft faz software: Desgerenciando Pessoas
Como a Microsoft faz software: Desgerenciando PessoasMarlon Luz
 
Homo Appiens - O ser humano que desenvolve Apps. Você é um?
Homo Appiens - O ser humano que desenvolve Apps. Você é um?Homo Appiens - O ser humano que desenvolve Apps. Você é um?
Homo Appiens - O ser humano que desenvolve Apps. Você é um?Marlon Luz
 
Microsoft & Internet of Things
Microsoft & Internet of ThingsMicrosoft & Internet of Things
Microsoft & Internet of ThingsMarlon Luz
 
Construindo Universal Apps para Windows e Windows Phone
Construindo Universal Apps para Windows e Windows PhoneConstruindo Universal Apps para Windows e Windows Phone
Construindo Universal Apps para Windows e Windows PhoneMarlon Luz
 
Loja de aplicativos e portal do desenvolvedor
Loja de aplicativos e portal do desenvolvedorLoja de aplicativos e portal do desenvolvedor
Loja de aplicativos e portal do desenvolvedorMarlon Luz
 
O que há de novo no Windows Phone
O que há de novo no Windows PhoneO que há de novo no Windows Phone
O que há de novo no Windows PhoneMarlon Luz
 
Agilidade em aplicativos mobile
Agilidade em aplicativos mobileAgilidade em aplicativos mobile
Agilidade em aplicativos mobileMarlon Luz
 
Loja de Aplicativos e Portal do Desenvolvedor
Loja de Aplicativos e Portal do DesenvolvedorLoja de Aplicativos e Portal do Desenvolvedor
Loja de Aplicativos e Portal do DesenvolvedorMarlon Luz
 
Desenvolvendo Apps para Windows phone
Desenvolvendo Apps para Windows phoneDesenvolvendo Apps para Windows phone
Desenvolvendo Apps para Windows phoneMarlon Luz
 
Desenvolvimento para Windows Phone
Desenvolvimento para Windows PhoneDesenvolvimento para Windows Phone
Desenvolvimento para Windows PhoneMarlon Luz
 
Babel fish, Guias e APIs
Babel fish, Guias e APIsBabel fish, Guias e APIs
Babel fish, Guias e APIsMarlon Luz
 
Desenvolvimento de Apps para celulares Nokia Lumia & Nokia asha
Desenvolvimento de Apps para celulares Nokia Lumia & Nokia ashaDesenvolvimento de Apps para celulares Nokia Lumia & Nokia asha
Desenvolvimento de Apps para celulares Nokia Lumia & Nokia ashaMarlon Luz
 
Potencialidades de um telefone celular para pessoas com necessidades especiais
Potencialidades de um telefone celular para pessoas com necessidades especiaisPotencialidades de um telefone celular para pessoas com necessidades especiais
Potencialidades de um telefone celular para pessoas com necessidades especiaisMarlon Luz
 
Nokia Asha App Development - Part 2
Nokia Asha App Development - Part 2Nokia Asha App Development - Part 2
Nokia Asha App Development - Part 2Marlon Luz
 
Game Development for Nokia Asha Devices with Java ME #2
Game Development for Nokia Asha Devices with Java ME #2Game Development for Nokia Asha Devices with Java ME #2
Game Development for Nokia Asha Devices with Java ME #2Marlon Luz
 
Distribua sua App para o mundo e ganhe $$
Distribua sua App para o mundo e ganhe $$Distribua sua App para o mundo e ganhe $$
Distribua sua App para o mundo e ganhe $$Marlon Luz
 
Desenvolvendo Games para Nokia Asha
Desenvolvendo Games para Nokia AshaDesenvolvendo Games para Nokia Asha
Desenvolvendo Games para Nokia AshaMarlon Luz
 
Programação para mobile: Serviços e Aplicativos
Programação para mobile: Serviços e AplicativosProgramação para mobile: Serviços e Aplicativos
Programação para mobile: Serviços e AplicativosMarlon Luz
 
In-app purchasing for java me apps
In-app purchasing for java me appsIn-app purchasing for java me apps
In-app purchasing for java me appsMarlon Luz
 
Aprenda a programar somente o necessário com Mogli: O menino lobo
Aprenda a programar somente o necessário com Mogli: O menino loboAprenda a programar somente o necessário com Mogli: O menino lobo
Aprenda a programar somente o necessário com Mogli: O menino loboMarlon Luz
 

More from Marlon Luz (20)

Como a Microsoft faz software: Desgerenciando Pessoas
Como a Microsoft faz software: Desgerenciando PessoasComo a Microsoft faz software: Desgerenciando Pessoas
Como a Microsoft faz software: Desgerenciando Pessoas
 
Homo Appiens - O ser humano que desenvolve Apps. Você é um?
Homo Appiens - O ser humano que desenvolve Apps. Você é um?Homo Appiens - O ser humano que desenvolve Apps. Você é um?
Homo Appiens - O ser humano que desenvolve Apps. Você é um?
 
Microsoft & Internet of Things
Microsoft & Internet of ThingsMicrosoft & Internet of Things
Microsoft & Internet of Things
 
Construindo Universal Apps para Windows e Windows Phone
Construindo Universal Apps para Windows e Windows PhoneConstruindo Universal Apps para Windows e Windows Phone
Construindo Universal Apps para Windows e Windows Phone
 
Loja de aplicativos e portal do desenvolvedor
Loja de aplicativos e portal do desenvolvedorLoja de aplicativos e portal do desenvolvedor
Loja de aplicativos e portal do desenvolvedor
 
O que há de novo no Windows Phone
O que há de novo no Windows PhoneO que há de novo no Windows Phone
O que há de novo no Windows Phone
 
Agilidade em aplicativos mobile
Agilidade em aplicativos mobileAgilidade em aplicativos mobile
Agilidade em aplicativos mobile
 
Loja de Aplicativos e Portal do Desenvolvedor
Loja de Aplicativos e Portal do DesenvolvedorLoja de Aplicativos e Portal do Desenvolvedor
Loja de Aplicativos e Portal do Desenvolvedor
 
Desenvolvendo Apps para Windows phone
Desenvolvendo Apps para Windows phoneDesenvolvendo Apps para Windows phone
Desenvolvendo Apps para Windows phone
 
Desenvolvimento para Windows Phone
Desenvolvimento para Windows PhoneDesenvolvimento para Windows Phone
Desenvolvimento para Windows Phone
 
Babel fish, Guias e APIs
Babel fish, Guias e APIsBabel fish, Guias e APIs
Babel fish, Guias e APIs
 
Desenvolvimento de Apps para celulares Nokia Lumia & Nokia asha
Desenvolvimento de Apps para celulares Nokia Lumia & Nokia ashaDesenvolvimento de Apps para celulares Nokia Lumia & Nokia asha
Desenvolvimento de Apps para celulares Nokia Lumia & Nokia asha
 
Potencialidades de um telefone celular para pessoas com necessidades especiais
Potencialidades de um telefone celular para pessoas com necessidades especiaisPotencialidades de um telefone celular para pessoas com necessidades especiais
Potencialidades de um telefone celular para pessoas com necessidades especiais
 
Nokia Asha App Development - Part 2
Nokia Asha App Development - Part 2Nokia Asha App Development - Part 2
Nokia Asha App Development - Part 2
 
Game Development for Nokia Asha Devices with Java ME #2
Game Development for Nokia Asha Devices with Java ME #2Game Development for Nokia Asha Devices with Java ME #2
Game Development for Nokia Asha Devices with Java ME #2
 
Distribua sua App para o mundo e ganhe $$
Distribua sua App para o mundo e ganhe $$Distribua sua App para o mundo e ganhe $$
Distribua sua App para o mundo e ganhe $$
 
Desenvolvendo Games para Nokia Asha
Desenvolvendo Games para Nokia AshaDesenvolvendo Games para Nokia Asha
Desenvolvendo Games para Nokia Asha
 
Programação para mobile: Serviços e Aplicativos
Programação para mobile: Serviços e AplicativosProgramação para mobile: Serviços e Aplicativos
Programação para mobile: Serviços e Aplicativos
 
In-app purchasing for java me apps
In-app purchasing for java me appsIn-app purchasing for java me apps
In-app purchasing for java me apps
 
Aprenda a programar somente o necessário com Mogli: O menino lobo
Aprenda a programar somente o necessário com Mogli: O menino loboAprenda a programar somente o necessário com Mogli: O menino lobo
Aprenda a programar somente o necessário com Mogli: O menino lobo
 

Game Development for Nokia Asha Devices with Java ME #1

  • 1. Game Development for Nokia Asha Devices with Java ME Marlon Luz - INdT Nokia Developer Evangelist @marlonluz
  • 2. WHAT IS THE CENTER OF INdT? RESEARCH & DEVELOPMENT nonprofit with focus in development of new concepts, products & solutions for areas related to mobile tecnologies and internet
  • 3. Training Content • Talk on games • Nokia App Store • Nokia Platforms • Introduction to Java ME Development • Game API • Publishing your game
  • 4. Mobile Games • Player Experience • Idea • Design • Audio • Coding
  • 6. Nokia App Store, Series40 & JavaME 120k+ apps, 15m downloads/day Brasil: 150m downloads (total), 50m in 2012, 500k per day, 56% in Series 40, 73% of purchases are JavaME apps
  • 7. Nokia Platforms Java apps Phones Series 40 Silverlight, XNA
  • 11. Nokia SDK 2.0 for Java • Emulates the device environment • Location, contactos, etc. • Emulates mobile events like battery, sms, etc. • IDE Integration
  • 12. Development • IDE Installation • Overview JavaME • First Project
  • 13. JavaME Overview • Java Micro Edition (ME) is the Java for devices with limited resources • Java ME brings a common platform for devices like: • Mobile phones • Pagers • PDAs • Set-top boxes • Java ME defines a set of configurations, profiles e optional APIs; • Java ME enables the developers to create applications for a large number of devices;
  • 14. Configurations • Support a wide variety of products that fit within the scope of J2ME; • Defines a Java platform for a wide variety of devices, also defines a JVM (Java Virtual Machine) and the minimum set of class libraries available: • Connected Device Configuration (CDC) • Connected Limited Device Configuration (CLDC)
  • 15. CLDC • 128 kilobytes of memory to run Java; • 32 kilobytes for memory allocation in runtime; • No user interface; • Low power processing, battery enabled device; • 16-32 Mhz Processor
  • 16. Profiles • Needed APIs to develop applications for a specific set of devices • MIDP • IMP • PBP • ...
  • 17. MIDP • Mobile Information Device Profile; • MIDP defines the following set of classes: • Application Lifecycle Package • User Interface Package Mobile Information • Persistence Package Device Profile Networking Persistent Interface Storage • Networking Package MIDlet User APIs • Language and Utility Packages CLDC Core classes CLDC or KVM
  • 18. MIDP • 3 versions available: MIDP 1.0 MIDP 2.0 Memory Requirement At least 200KB At least 256KB High/Low-Level UI Network API Persistent Storage API Game API Secure networking Push Registry Signed MIDlets
  • 19. MIDlets • Apps Java that run on MIDP devices are known as MIDlets • MIDlets are defined in the javax.microedition.midlet package • Child of the abstract class javax.microedition.midlet.MIDlet • Life cycle defined and managed by methods implemented in the MIDlet;
  • 20. MIDlets • An application manager controls the MIDlet running • The MIDlet behavior is controlled by a life cycle through methods that a MIDlet has to implement default constructor() startApp() Paused Active pauseApp() destroyApp() destroyApp() Destroyed
  • 21. MIDlets • The platform can change the state from Active to Paused at any time startApp() Paused Active pauseApp() destroyApp() destroyApp() Destroyed
  • 22. MIDlets • The method destroyApp() of a MIDlet is called when the platform needs shutdown a MIDlet startApp() Paused Active pauseApp() destroyApp() destroyApp() Destroyed
  • 23. MIDlets • Let´s see how to implement a MIDlet #stopTalking #startCoding
  • 24. JAD and JAR • JAD (Java Application Descriptor) • Provides information on the content of a JAR file • JAR (Java Archive) • Packaging various kinds of information (classes, images, audio, data) • Attributes JAR/JAD
  • 25. Development process Development Station MyMIDlet.jad MyMIDlet.java Download /deploy javac Target Devices Download MyMIDlet.class /deploy MyMIDlet.jar preverify MyMIDlet.class jar
  • 26. Thanks Marlon Luz ext-marlon.luz@nokia.com @marlonluz