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

More Related Content

What's hot

J2ME
J2MEJ2ME
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
Pallepati Vasavi
 
MOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSMOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMS
Senthil Kanth
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
Govardhan Gottigalla
 
Introduction to j2me
Introduction to j2meIntroduction to j2me
Introduction to j2me
Fae Kaal
 
Presenting Cloud Computing
Presenting Cloud ComputingPresenting Cloud Computing
Presenting Cloud Computing
Naveen Karn
 
J2me Platform
J2me PlatformJ2me Platform
J2me Platform
Kamal Patel
 
Mobile Operating System
Mobile Operating SystemMobile Operating System
Mobile Operating System
Sushant Kushwaha
 
Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)Introduction to mobile programing (J2ME)
Introduction to mobile programing (J2ME)Wambua Wambua
 
Java J2ME
Java J2MEJava J2ME
Java J2ME
marada0033
 
Introduction to java micro edition
Introduction to java micro editionIntroduction to java micro edition
Introduction to java micro edition
Raphael Wanjiku
 
01 java 2 micro edition
01 java 2 micro edition01 java 2 micro edition
01 java 2 micro edition
corneliuskoo
 
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
terrencebarr
 
Android internals
Android internalsAndroid internals
Android internals
rabah3
 
Android
AndroidAndroid
Android
aktash12
 
Session1 j2me introduction
Session1  j2me introductionSession1  j2me introduction
Session1 j2me introduction
muthusvm
 
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
 

What's hot (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
 

Similar to J2ME mobile app development

Prezentare 1 - LTM
Prezentare 1 - LTMPrezentare 1 - LTM
Prezentare 1 - LTM
danielnastase
 
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.pptx
debasish 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 temp
Shahid Riaz
 
It6601 mobile computing unit 5
It6601 mobile computing unit 5It6601 mobile computing unit 5
It6601 mobile computing unit 5
RMK ENGINEERING COLLEGE, CHENNAI
 
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
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
Bhavya Siddappa
 
SynapseIndia mobile build apps management
SynapseIndia mobile build apps managementSynapseIndia mobile build apps management
SynapseIndia mobile build apps management
Synapseindiappsdevelopment
 
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
anoopengineer
 
wireless notice board
 wireless notice board wireless notice board
wireless notice board
Anmol Purohit
 
Java ME CLDC MIDP
Java ME CLDC MIDPJava ME CLDC MIDP
Java ME CLDC MIDP
SMIJava
 
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 Environment
Predhin 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
 

Similar to 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
 

More from Muthu Kumar

Phonegap for Android
Phonegap for AndroidPhonegap for Android
Phonegap for Android
Muthu 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 Design
Muthu 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 DAYS
Muthu Kumar
 
Professional project cost management
Professional project cost managementProfessional project cost management
Professional project cost management
Muthu Kumar
 
Goal planner 2012
Goal planner 2012Goal planner 2012
Goal planner 2012Muthu Kumar
 
Smartphone security
Smartphone securitySmartphone security
Smartphone security
Muthu 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 to
Muthu Kumar
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
Muthu Kumar
 

More from 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
 

Recently uploaded

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

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