SlideShare a Scribd company logo
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 (15)

PPTX
J2ME
Kumar Gaurav
 
PPS
J2ME Unit_01
Prashanth Shivakumar
 
PPTX
Introduction to Mobile programming(J2ME)
Wambua Wambua
 
PDF
Mobile Showcase Moblin2
Tomas Bennich
 
PPTX
J2ME
Kushal Modi
 
PDF
Ruckus BYOD whitepaper
Michal Jarski
 
PDF
Novell ZENworks Overview and Futures
Novell
 
PDF
Novell SecureLogin Installation, Deployment, Lifecycle Management and Trouble...
Novell
 
PDF
Rococo Software Q409
Sean O'Sullivan
 
PDF
Life Size Virtual Link
Annie Lavoie
 
PPTX
J2ME
Lim Chanmann
 
PDF
J2ME GUI Programming
Rohan Chandane
 
PPT
MOBILE APPs DEVELOPMENT PLATFORMS
Senthil Kanth
 
J2ME Unit_01
Prashanth Shivakumar
 
Introduction to Mobile programming(J2ME)
Wambua Wambua
 
Mobile Showcase Moblin2
Tomas Bennich
 
Ruckus BYOD whitepaper
Michal Jarski
 
Novell ZENworks Overview and Futures
Novell
 
Novell SecureLogin Installation, Deployment, Lifecycle Management and Trouble...
Novell
 
Rococo Software Q409
Sean O'Sullivan
 
Life Size Virtual Link
Annie Lavoie
 
J2ME GUI Programming
Rohan Chandane
 
MOBILE APPs DEVELOPMENT PLATFORMS
Senthil Kanth
 

Viewers also liked (8)

PDF
UConn MBA website rejuvenation appendices
rubylu818
 
PDF
UConn MBA website rejuvenation
rubylu818
 
PPTX
Aquasent final presentation
rubylu818
 
PDF
Professional Exhibition Projects
rubylu818
 
PPTX
Introducing slums the pseudo heavens by ridwanul mosrur
Ridwanul Mosrur
 
PPTX
Business Process Improvement plan - SQL
rubylu818
 
PDF
Supply Chain Process Improvement Methodology V1
John Paulson
 
PPTX
Business process improvement (special report) presentation
Michael Ligayo
 
UConn MBA website rejuvenation appendices
rubylu818
 
UConn MBA website rejuvenation
rubylu818
 
Aquasent final presentation
rubylu818
 
Professional Exhibition Projects
rubylu818
 
Introducing slums the pseudo heavens by ridwanul mosrur
Ridwanul Mosrur
 
Business Process Improvement plan - SQL
rubylu818
 
Supply Chain Process Improvement Methodology V1
John Paulson
 
Business process improvement (special report) presentation
Michael Ligayo
 
Ad

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

PDF
03 midp
corneliuskoo
 
PDF
Intro to Java ME and Asha Platform
Jussi Pohjolainen
 
PPTX
Introduction to mobile programing (J2ME)
Wambua Wambua
 
PPT
J2ME-java-training-document-internal.ppt
mschaitanya4466
 
PDF
Introduction to Java ME
Jussi Pohjolainen
 
PDF
Java me introduction
NokiaAppForumSerbia
 
PDF
Java me introduction
NokiaAppForumSerbia
 
PDF
JavaME Development Workflow - JMDF 2007
Edoardo Schepis
 
PPTX
1. Java Project Guidance for engineering
vyshukodumuri
 
PPTX
Android application development
Fahad A. Shaikh
 
PPTX
Android village @nullcon 2012
hakersinfo
 
PPTX
The Java Story
David Parsons
 
PDF
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
JUG Lausanne
 
DOC
City search documentation
Rajesh Varanasi
 
PPTX
2 mobile development frameworks and tools dark temp
Shahid Riaz
 
PPT
Java ME CLDC MIDP
SMIJava
 
PPT
Mobile Application Development JEDI
Alver Noquiao
 
PDF
JavaAndNetBeans.pdf
ArturoRosas45
 
PPSX
Android Introduction
Sharmistha Mandal
 
PPTX
Symbian os
Sandeep Kamath
 
03 midp
corneliuskoo
 
Intro to Java ME and Asha Platform
Jussi Pohjolainen
 
Introduction to mobile programing (J2ME)
Wambua Wambua
 
J2ME-java-training-document-internal.ppt
mschaitanya4466
 
Introduction to Java ME
Jussi Pohjolainen
 
Java me introduction
NokiaAppForumSerbia
 
Java me introduction
NokiaAppForumSerbia
 
JavaME Development Workflow - JMDF 2007
Edoardo Schepis
 
1. Java Project Guidance for engineering
vyshukodumuri
 
Android application development
Fahad A. Shaikh
 
Android village @nullcon 2012
hakersinfo
 
The Java Story
David Parsons
 
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
JUG Lausanne
 
City search documentation
Rajesh Varanasi
 
2 mobile development frameworks and tools dark temp
Shahid Riaz
 
Java ME CLDC MIDP
SMIJava
 
Mobile Application Development JEDI
Alver Noquiao
 
JavaAndNetBeans.pdf
ArturoRosas45
 
Android Introduction
Sharmistha Mandal
 
Symbian os
Sandeep Kamath
 
Ad

More from Marlon Luz (20)

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

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 [email protected] @marlonluz