SlideShare ist ein Scribd-Unternehmen logo
1 von 23
J2ME MOBILE APP
DEVELOPMENT
ON-STAGE WORKSHOP
Krishna Engineering College, Coimbatore
Agenda
   Programming for Mobile Devices
   Java and Mobile Application Development
   J2ME – Architecture
   How to write Scope for J2ME app
   How to write code for J2ME app
   How to Test J2ME app
   How to Deploy J2ME app
   Utilities and Tools
   Community Best Practices
   Demos
   Discussions
Programming for Mobile
Devices
   Advantages
     Mobile is next-gen computing device [smart-phone,
      PDA]
     Design, Development, Testing Opportunities [Web /
      App]
     Wide Range of Applications required

     Edutainment, Infotainment, business, communication,
      social networking … 1000 more…
   Limitations
     Small Size and Low power Handsets
     Operating Systems, Screen Size, Memory, Processor,
      Network, Input Methods and Graphics Engine
Java and Mobile App
Development
   Opportunities: C++, .NET, Flash-Lite, Java, HTML/JS/PHP, Python
   Java – Independent from Hardware Platform
   Byte Code - Compiler and Code Interpreter
       JVM, KVM [128K of available memory], Card VM
       KVM – C based. Responsible for Byte code to Native calls
   Java for Mobile Operating Systems – J2ME
   Business applications, Games, Mobile Utilities, Location based
    Services, Social Media, Communication Tools etc…

   Operating Systems
       Symbian [Feature Phone / Smart Phone]
       Blackberry
       Android
       Windows Mobile
       I-Phone
       Common Java Phones
J2ME Market Trends
   900 million mobile Java devices shipped by
    2010
   1235 Mobile Java Device Models in Market
   95 Mobile Device vendors using Java
   90000 Mobile Java Applications in Market
   260 Operators worldwide developed java
    services
   23 million mobile java downloads every month
     Source– Nokia News, Mobile Today, Symbian
     News, Oracle Java Networks
J2ME Packages
   Javax.microedition
   Multimedia Supplements
   Content Handlers
   Web Services
   Location based API
   3D Graphics
   Mobile Sensors
   Payment API
   Security
   Wireless Messaging
   XML
Limited K-Virtual Machine
Support
   No Floating point Support
   No JNI
   No Thread Groups and Daemon Threads
   Sand box Security
J2ME Keywords
   CDC – Connected Device Configuration
    [handheld PCs, Smart Devices, Televisions]
   CLDC – Connected Limited Device Configuration
    [Mobile Phones, Smart Phones]
     CLDC 1.0
     CLDC 1.1
   Device Profile – MIDP [Mobile Information Device
    Profile]
     MIDP 1.0
     MIDP 2.0
     MIDP 2.1
Connected Limited Device
Configuration
    CLDC provides the lowest common denominator
     for small and resource-constrained devices
    characterized as follows:
      160 kB to 512 kB of totally memory budget available
       for the Java platform.
      a 16-bit or 32-bit processor.

      low power consumption, often operating with battery
       power.
      connectivity to some kind of network, often with a
       wireless connection and with limited (often 9600 bps
       or less) bandwidth.
MIDP
   MIDP adds an additional layer on the top of
    the CLDC providing APIs for a specific class of
    devices:
    –  128KB of non-volatile memory for the MIDP
      implementation
     – 32KB of volatile memory for the runtime heap

     – 8KB of non-volatile memory for persistent data

     – Input capacity (screen, keyboard, touch)

     – Screen size of at least 96x54 pixels
Midlets – J2ME Apps
   MIDlet defines methods that the system calls
    in order to start, stop (pause), and destroy the
    application
   classes to build user interfaces
   Storing data in simple databases [RMS]
   Network Connectivity
   Timer notifications
   .jad and .jar files
J2ME – Architecture
J2ME - Architecture




           Operating System
AMS and Midlets
   • The Application Management Software
    (AMS) manages the MIDlets.
   • The AMS is a part of the device's operating
    environment and guides the MIDlets through
    their various states during the execution
    process.
Structure of MIDP Code
   J2ME SDK 3.0 – Tool Introduction
   Code Example – First J2ME Midlet
How to write Scope for J2ME
   Understand the requirement from the mobile
    device point of view
   Understand the limitations of device and
    network
   Structure of Scope document
     Scope  in User case / Story
     Functional Requirements + Functional Flow

     Target Devices + Platform + User Knowledge

     Constraints and Limitations
How to write code for J2ME
   Code Sample – Midlet with UI & Fetch System
    Properties
   Code Best Practices
     Clean Code
     Follow the Coding Standards – Documentation
     Exception Handling
     Use descriptive variable names
     Don’t Copy-Paste. Use functions
     Use the default structure in Editor
     Understand the Project Properties
How to Test J2ME Midlet
   Rule 1: Plan your devices
   Rule 2: Always do Unit Testing in Emulators
   Rule 3: Use real-time Devices for Test cases
    verification
   Rule 4: Certify your Midlet
   Rule 5: Sign Midlet for Security reasons
How to Deploy J2ME Midlet




   Jad [app-descriptor] and Jar[java-archive]
    Files
   Bluetooth & USB
   Public App-Store [getjar.com]
   Branded App-Stores [Symbian Store]
Utilities and Tools
   J2ME PLATFORM SDK 3.0
   Borland JBuilder 7 Enterprise with MobileSet 3
   Sun Microsystems' Sun ONE (Open Network
    Environment) Studio 4 Mobile Edition
   Metrowerks CodeWarrior Wireless Studio 7
   S5 Systems' jVise (based on IBM Eclipse
    technology
   Emulators [J2ME] – Online and PC Based
   UI Design Tools [Prototype and Form Design]
Community Best Practices
   Create new requirements and develop apps
   Follow user story + build level scope + clean
    code
   Write algorithm before coding
   Do more in Server, Less in Device
   Try simple UI
   Define Target Devices in release notes
   Share Knowledge & Experiences
Networking with J2ME Demo
   Networking – Reading from Remote
   Code Sample
Discussions…
muthugv@ovi.com
9894238404
http://office.gvmuthu.com
http://twitter.com/#!/gvmuthu

Weitere ähnliche Inhalte

Was ist angesagt?

Mobile Application Development MAD J2ME UNIT 2
Mobile Application Development  MAD J2ME UNIT 2Mobile Application Development  MAD J2ME UNIT 2
Mobile Application Development MAD J2ME UNIT 2Pallepati Vasavi
 
MOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSMOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSSenthil Kanth
 
Introduction to j2me
Introduction to j2meIntroduction to j2me
Introduction to j2meFae Kaal
 
Presenting Cloud Computing
Presenting Cloud ComputingPresenting Cloud Computing
Presenting Cloud ComputingNaveen Karn
 
Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)Wambua Wambua
 
Introduction to java micro edition
Introduction to java micro editionIntroduction to java micro edition
Introduction to java micro editionRaphael Wanjiku
 
01 java 2 micro edition
01 java 2 micro edition01 java 2 micro edition
01 java 2 micro editioncorneliuskoo
 
Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8terrencebarr
 
Android internals
Android internalsAndroid internals
Android internalsrabah3
 
Session1 j2me introduction
Session1  j2me introductionSession1  j2me introduction
Session1 j2me introductionmuthusvm
 
A Project Report on Insurance System with Tracking Manager
 A Project Report on Insurance System with Tracking Manager  A Project Report on Insurance System with Tracking Manager
A Project Report on Insurance System with Tracking Manager Sachin Kariyattin
 

Was ist angesagt? (20)

J2ME GUI Programming
J2ME GUI ProgrammingJ2ME GUI Programming
J2ME GUI Programming
 
J2ME
J2MEJ2ME
J2ME
 
Mobile Application Development MAD J2ME UNIT 2
Mobile Application Development  MAD J2ME UNIT 2Mobile Application Development  MAD J2ME UNIT 2
Mobile Application Development MAD J2ME UNIT 2
 
MOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSMOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMS
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Introduction to j2me
Introduction to j2meIntroduction to j2me
Introduction to j2me
 
J2 me 1
J2 me 1J2 me 1
J2 me 1
 
Presenting Cloud Computing
Presenting Cloud ComputingPresenting Cloud Computing
Presenting Cloud Computing
 
08 Midlet Basic
08 Midlet Basic08 Midlet Basic
08 Midlet Basic
 
J2me Platform
J2me PlatformJ2me Platform
J2me Platform
 
Mobile Operating System
Mobile Operating SystemMobile Operating System
Mobile Operating System
 
Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)
 
Java J2ME
Java J2MEJava J2ME
Java J2ME
 
Introduction to java micro edition
Introduction to java micro editionIntroduction to java micro edition
Introduction to java micro edition
 
01 java 2 micro edition
01 java 2 micro edition01 java 2 micro edition
01 java 2 micro edition
 
Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8
 
Android internals
Android internalsAndroid internals
Android internals
 
Android
AndroidAndroid
Android
 
Session1 j2me introduction
Session1  j2me introductionSession1  j2me introduction
Session1 j2me introduction
 
A Project Report on Insurance System with Tracking Manager
 A Project Report on Insurance System with Tracking Manager  A Project Report on Insurance System with Tracking Manager
A Project Report on Insurance System with Tracking Manager
 

Ähnlich wie J2ME mobile app development

A Taste of Java ME
A Taste of Java MEA Taste of Java ME
A Taste of Java MEwiradikusuma
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxdebasish duarah
 
Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..Aashish Uppal
 
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
 
2 d barcode based mobile payment system
2 d barcode based mobile payment system2 d barcode based mobile payment system
2 d barcode based mobile payment systemParag Tamhane
 
Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Qualcomm Developer Network
 
Android – As a tool of innovation
Android – As a tool of innovation Android – As a tool of innovation
Android – As a tool of innovation Pallab Sarkar
 
Java ME An Introduction. www.javameblog.com
Java ME  An  Introduction. www.javameblog.comJava ME  An  Introduction. www.javameblog.com
Java ME An Introduction. www.javameblog.comanoopengineer
 
wireless notice board
 wireless notice board wireless notice board
wireless notice boardAnmol Purohit
 
Java ME CLDC MIDP
Java ME CLDC MIDPJava ME CLDC MIDP
Java ME CLDC MIDPSMIJava
 
J2 Me Gaming Using Netbeans
J2 Me Gaming Using NetbeansJ2 Me Gaming Using Netbeans
J2 Me Gaming Using Netbeansstrongdevil
 
Blackberry Development Environment
Blackberry Development EnvironmentBlackberry Development Environment
Blackberry Development EnvironmentPredhin Sapru
 
JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007Edoardo Schepis
 
cloud computing and android
cloud computing and androidcloud computing and android
cloud computing and androidMohit Singh
 

Ähnlich wie J2ME mobile app development (20)

Prezentare 1 - LTM
Prezentare 1 - LTMPrezentare 1 - LTM
Prezentare 1 - LTM
 
A Taste of Java ME
A Taste of Java MEA Taste of Java ME
A Taste of Java ME
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptx
 
Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..
 
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
 
It6601 mobile computing unit 5
It6601 mobile computing unit 5It6601 mobile computing unit 5
It6601 mobile computing unit 5
 
2 d barcode based mobile payment system
2 d barcode based mobile payment system2 d barcode based mobile payment system
2 d barcode based mobile payment system
 
Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors
 
Android – As a tool of innovation
Android – As a tool of innovation Android – As a tool of innovation
Android – As a tool of innovation
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
 
SynapseIndia mobile build apps management
SynapseIndia mobile build apps managementSynapseIndia mobile build apps management
SynapseIndia mobile build apps management
 
Java ME An Introduction. www.javameblog.com
Java ME  An  Introduction. www.javameblog.comJava ME  An  Introduction. www.javameblog.com
Java ME An Introduction. www.javameblog.com
 
wireless notice board
 wireless notice board wireless notice board
wireless notice board
 
Java ME CLDC MIDP
Java ME CLDC MIDPJava ME CLDC MIDP
Java ME CLDC MIDP
 
Parimal Resume
Parimal ResumeParimal Resume
Parimal Resume
 
Mohamed_yassin_Resume
Mohamed_yassin_ResumeMohamed_yassin_Resume
Mohamed_yassin_Resume
 
J2 Me Gaming Using Netbeans
J2 Me Gaming Using NetbeansJ2 Me Gaming Using Netbeans
J2 Me Gaming Using Netbeans
 
Blackberry Development Environment
Blackberry Development EnvironmentBlackberry Development Environment
Blackberry Development Environment
 
JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007
 
cloud computing and android
cloud computing and androidcloud computing and android
cloud computing and android
 

Mehr von Muthu Kumar

Phonegap for Android
Phonegap for AndroidPhonegap for Android
Phonegap for AndroidMuthu Kumar
 
Next generation career opportunities
Next generation career opportunitiesNext generation career opportunities
Next generation career opportunitiesMuthu Kumar
 
SOA - Architecture and Design
SOA - Architecture and DesignSOA - Architecture and Design
SOA - Architecture and DesignMuthu Kumar
 
SOA Development - Requirement Analysis
SOA Development - Requirement AnalysisSOA Development - Requirement Analysis
SOA Development - Requirement AnalysisMuthu Kumar
 
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYSMuthu Kumar
 
Professional project cost management
Professional project cost managementProfessional project cost management
Professional project cost managementMuthu Kumar
 
Goal planner 2012
Goal planner 2012Goal planner 2012
Goal planner 2012Muthu Kumar
 
Smartphone security
Smartphone securitySmartphone security
Smartphone securityMuthu Kumar
 
Professional resume writing
Professional resume writingProfessional resume writing
Professional resume writingMuthu Kumar
 
Android Testing - How to
Android Testing - How toAndroid Testing - How to
Android Testing - How toMuthu Kumar
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development WorkshopMuthu Kumar
 

Mehr von Muthu Kumar (11)

Phonegap for Android
Phonegap for AndroidPhonegap for Android
Phonegap for Android
 
Next generation career opportunities
Next generation career opportunitiesNext generation career opportunities
Next generation career opportunities
 
SOA - Architecture and Design
SOA - Architecture and DesignSOA - Architecture and Design
SOA - Architecture and Design
 
SOA Development - Requirement Analysis
SOA Development - Requirement AnalysisSOA Development - Requirement Analysis
SOA Development - Requirement Analysis
 
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS
 
Professional project cost management
Professional project cost managementProfessional project cost management
Professional project cost management
 
Goal planner 2012
Goal planner 2012Goal planner 2012
Goal planner 2012
 
Smartphone security
Smartphone securitySmartphone security
Smartphone security
 
Professional resume writing
Professional resume writingProfessional resume writing
Professional resume writing
 
Android Testing - How to
Android Testing - How toAndroid Testing - How to
Android Testing - How to
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

J2ME mobile app development

  • 1. J2ME MOBILE APP DEVELOPMENT ON-STAGE WORKSHOP Krishna Engineering College, Coimbatore
  • 2. Agenda  Programming for Mobile Devices  Java and Mobile Application Development  J2ME – Architecture  How to write Scope for J2ME app  How to write code for J2ME app  How to Test J2ME app  How to Deploy J2ME app  Utilities and Tools  Community Best Practices  Demos  Discussions
  • 3. Programming for Mobile Devices  Advantages  Mobile is next-gen computing device [smart-phone, PDA]  Design, Development, Testing Opportunities [Web / App]  Wide Range of Applications required  Edutainment, Infotainment, business, communication, social networking … 1000 more…  Limitations  Small Size and Low power Handsets  Operating Systems, Screen Size, Memory, Processor, Network, Input Methods and Graphics Engine
  • 4. Java and Mobile App Development  Opportunities: C++, .NET, Flash-Lite, Java, HTML/JS/PHP, Python  Java – Independent from Hardware Platform  Byte Code - Compiler and Code Interpreter  JVM, KVM [128K of available memory], Card VM  KVM – C based. Responsible for Byte code to Native calls  Java for Mobile Operating Systems – J2ME  Business applications, Games, Mobile Utilities, Location based Services, Social Media, Communication Tools etc…  Operating Systems  Symbian [Feature Phone / Smart Phone]  Blackberry  Android  Windows Mobile  I-Phone  Common Java Phones
  • 5. J2ME Market Trends  900 million mobile Java devices shipped by 2010  1235 Mobile Java Device Models in Market  95 Mobile Device vendors using Java  90000 Mobile Java Applications in Market  260 Operators worldwide developed java services  23 million mobile java downloads every month  Source– Nokia News, Mobile Today, Symbian News, Oracle Java Networks
  • 6. J2ME Packages  Javax.microedition  Multimedia Supplements  Content Handlers  Web Services  Location based API  3D Graphics  Mobile Sensors  Payment API  Security  Wireless Messaging  XML
  • 7. Limited K-Virtual Machine Support  No Floating point Support  No JNI  No Thread Groups and Daemon Threads  Sand box Security
  • 8. J2ME Keywords  CDC – Connected Device Configuration [handheld PCs, Smart Devices, Televisions]  CLDC – Connected Limited Device Configuration [Mobile Phones, Smart Phones]  CLDC 1.0  CLDC 1.1  Device Profile – MIDP [Mobile Information Device Profile]  MIDP 1.0  MIDP 2.0  MIDP 2.1
  • 9. Connected Limited Device Configuration  CLDC provides the lowest common denominator for small and resource-constrained devices  characterized as follows:  160 kB to 512 kB of totally memory budget available for the Java platform.  a 16-bit or 32-bit processor.  low power consumption, often operating with battery power.  connectivity to some kind of network, often with a wireless connection and with limited (often 9600 bps or less) bandwidth.
  • 10. MIDP  MIDP adds an additional layer on the top of the CLDC providing APIs for a specific class of devices: – 128KB of non-volatile memory for the MIDP implementation  – 32KB of volatile memory for the runtime heap  – 8KB of non-volatile memory for persistent data  – Input capacity (screen, keyboard, touch)  – Screen size of at least 96x54 pixels
  • 11. Midlets – J2ME Apps  MIDlet defines methods that the system calls in order to start, stop (pause), and destroy the application  classes to build user interfaces  Storing data in simple databases [RMS]  Network Connectivity  Timer notifications  .jad and .jar files
  • 13. J2ME - Architecture Operating System
  • 14. AMS and Midlets  • The Application Management Software (AMS) manages the MIDlets.  • The AMS is a part of the device's operating environment and guides the MIDlets through their various states during the execution process.
  • 15. Structure of MIDP Code  J2ME SDK 3.0 – Tool Introduction  Code Example – First J2ME Midlet
  • 16. How to write Scope for J2ME  Understand the requirement from the mobile device point of view  Understand the limitations of device and network  Structure of Scope document  Scope in User case / Story  Functional Requirements + Functional Flow  Target Devices + Platform + User Knowledge  Constraints and Limitations
  • 17. How to write code for J2ME  Code Sample – Midlet with UI & Fetch System Properties  Code Best Practices  Clean Code  Follow the Coding Standards – Documentation  Exception Handling  Use descriptive variable names  Don’t Copy-Paste. Use functions  Use the default structure in Editor  Understand the Project Properties
  • 18. How to Test J2ME Midlet  Rule 1: Plan your devices  Rule 2: Always do Unit Testing in Emulators  Rule 3: Use real-time Devices for Test cases verification  Rule 4: Certify your Midlet  Rule 5: Sign Midlet for Security reasons
  • 19. How to Deploy J2ME Midlet  Jad [app-descriptor] and Jar[java-archive] Files  Bluetooth & USB  Public App-Store [getjar.com]  Branded App-Stores [Symbian Store]
  • 20. Utilities and Tools  J2ME PLATFORM SDK 3.0  Borland JBuilder 7 Enterprise with MobileSet 3  Sun Microsystems' Sun ONE (Open Network Environment) Studio 4 Mobile Edition  Metrowerks CodeWarrior Wireless Studio 7  S5 Systems' jVise (based on IBM Eclipse technology  Emulators [J2ME] – Online and PC Based  UI Design Tools [Prototype and Form Design]
  • 21. Community Best Practices  Create new requirements and develop apps  Follow user story + build level scope + clean code  Write algorithm before coding  Do more in Server, Less in Device  Try simple UI  Define Target Devices in release notes  Share Knowledge & Experiences
  • 22. Networking with J2ME Demo  Networking – Reading from Remote  Code Sample