The document provides an overview of J2ME (Java 2 Micro Edition), which is a version of Java designed for small, resource-constrained devices. It discusses what J2ME is, the motivations for its creation, its core concepts including configurations, profiles, and optional packages, and how to get started developing applications using J2ME. The document serves as an introduction to the J2ME platform for developing applications on devices such as mobile phones, PDAs, and other small computing devices.
Report
Share
Report
Share
1 of 45
More Related Content
J2ME
1. Introduction
of
J2ME !
Guided By :- Submitted By:-
Prof. S C Himbade Kumar Gaurav
Roll no :- 26
2. Research work At a Glance
1. What is J2ME.
2. Introduction to Java
3. Why J2ME
4. Evolution of J2me
5. Overview
6. MIDP
7. CLDC
8. CDC
9. J2ME Vs. J2EE
10. Limitation
3. What is J2ME
J2ME is a family of specifications that defines various
downsized versions of the standard Java 2 platform;
these downsized versions can be used to program
consumer electronic devices ranging from cell phones
to highly capable Personal Data Assistants (PDAs),
smart phones, and set-top boxes.
J2ME is a reduced version of Java for small devices
”write once, run anywhere”
4. J2ME Overview
• Java
– A programming language
developed by Sun Microsystems
– Required a Virtual machine to
interpret the source codes and
generate bytecode
– Syntax is similar to C++
– Platform independent feature
4
5. J2ME Overview
• Java2 is divided into three platforms
– J2EE (Java2 Enterprise Edition)
• Business applications.
– J2SE (Java2 Standard Edition)
• General applications
– J2ME (Java2 Micro Edition)
• Small devices such as mobile phone, PDA, car
navigation.
The above three editions target for different devices or
systems
8. Environment requirements
• We need an environment which is adapted for
constrained devices - devices that have limitations on
what they can do when compared to standard desktop
or server computers.
• The constraints are:
– extremely limited memory
– small screen sizes
– alternative input methods
– slow processors
J2ME
9. So – what’s the solution?
• Because of the vast
need, Sun has decided
to develop a special
edition of Java -
J2ME (Java 2 Micro
Edition).
J2ME
10. Let’s us try to answer it ?
J2ME is targeted to developers of intelligent wireless devices
and small computing devices who need to incorporate cross-
platform functionality in their products.
J2ME is used on the devices with limited resources (Resource
constraint devices) like Mobile phone, PDAs, Set top
box, screenphone, wireless, car, and digital assistant
11. Contd..
The J2ME platform maintains the qualities that Java
technology has become famous for:
• Built-in consistency across products in terms of
running anywhere, anytime, over any device
• Portability of the code
• Leveraging of the same Java programming
language
• Safe network delivery
• Applications written with J2ME technology are
upwardly scalable to work with the J2SE and
J2EE platforms
13. Java Editions
• Different devices have different requirements
and different expectations of Java.
• One platform (solution) cannot address all the
market segments (web server, video games
etc.)
• Users/developers want flexibility. They want
to choose what they want to use and what they
do not.
J2ME
14. Java Editions
• The Java 2 Platform is split into three editions.
• Each edition provides a complete environment
for running Java-based applications, including
the Java virtual machine (VM) and runtime
classes.
• The three editions target different kinds of
applications running on different kinds of
devices.
J2ME
15. Java Editions
Java 2 Platform
Java2 Java2 Java2
Standard Edition Enterprise Edition Micro Edition
(J2SE™) (J2EE™) (J2ME™)
Standard desktop & Heavy duty server Small & memory
workstation applications systems constrained devices
J2ME
16. Java Editions
• Each edition defines different sets of class
libraries.
• There are thousands of core J2SE runtime
classes, taking up to 10-20 megabytes
of space.
• J2ME-based devices have J2EE
fewer classes. J2SE
J2ME
J2ME
17. Contd.
• Announced in June 1999 at the JavaOne Developer
Conference, J2ME brings the cross-platform
functionality of the Java language to smaller devices.
• In 2000 Sun extended Personal Java for handsets with
a JavaPhone API which found its way into several
SymbianOS 6 implementations. It was to target PDAs
and SmartPhones. Several of these extensions became
new classes in the J2ME via the Personal Profile and
the Personal Basis Profile
19. J2ME Core Concepts
• Configuration
J2ME
– Minimum platform Profile
required for a
group of devices
J2ME
• Profile Libraries
– Addresses specific Java Language
needs of a certain
device family Java Virtual Machine
• Optional Packages
Host Operating System
J2ME
20. J2ME Core Concepts
J2ME is based on 3 core concepts:
• Configuration
• Profiles
• Optional packages
J2ME
21. Configurations
• A configuration is a complete Java runtime
environment, consisting of:
– Java virtual machine (VM) to execute Java
bytecode
– Native code to interface to the underlying system
– Set of core Java runtime classes
• To use a configuration, a device must meet
certain minimum requirements.
J2ME
22. Configurations
• The set of core classes is normally quite small
and must be enhanced with additional classes
supplied by J2ME profiles or by configuration
implementor.
• Configurations do not define any user
interface classes.
J2ME
24. Connected Limited Device Configuration (CLDC)
CLDC is aimed at the low end of the consumer electronics range.
• 16-bit or 32-bit small computing devices with
limited memory.
• These devices usually have between 160KB and
512KB of available memory.
• Usually these are powered by battery.
• They use small-bandwidth network wireless
connection.
• These devices include pagers, personal digital
assistants, cell phones, dedicated terminals, and
handheld consumer device.
25. Connected Device Configuration (CDC)
CDC for plug-in devices:CDC(Connected Device
Configuration) devices use a
• 32-bit architecture, have at least 2 MB of memory
available, and
• Implement a complete functional JVM. CDC devices
include digital set-top boxes, home appliances, navigation
systems, point-of-sale terminals, and smart phones.
26. CLDC vs. CDC
• CLDC • CDC
– For very constrained – 2 MB or more memory
devices for Java platform
– 160 - 512 KB of total – 32-bit processor
memory – High bandwidth
– 16-bit or 32-bit network connection,
processor most often using
– Low power TCP/IP
consumption and
often operating with
battery power
– Connectivity with
limited bandwidth
J2ME
27. J2ME Core Concepts
J2ME is based on 3 core concepts:
• Configurations
• Profiles
• Optional packages
J2ME
28. Profiles
• Adds domain-specific classes to a configuration:
– To fill in missing functionality
– To support specific uses of a device
• Most profiles define user interface classes for
building interactive applications.
• To use a profile, the device must meet the minimum
requirements of the underlying configuration and of
the profile.
J2ME
29. The Mobile Information Device Profile
and MIDlets
• The Mobile Information Device Profile, or MIDP
for short, is one such profile, intended for use on
small footprint devices with a limited user
interface in the form of a small screen with some
kind of input capability.
• Java applications that run on MIDP devices are
known as MIDlets. A MIDlet consists of atleast
one Java class
30. MIDP Hardware Requirements
Hardware Minimum Requirement
Display 96 X 54 Pixels 65,536 colors
Memory 32 KB workspace
128KB MIDP Implementation
8KB for MIDlets run
the device has the equivalent of a keypad that
Input Device allows the user to type the numbers 0 through
9,together with the equivalent of arrow keys and a
select button
Connectivity HTTP 1.1; TCP/IP
31. MIDP vs J2SE
• No floating point (CLDC 1.0)
• No Object Finalization
• No Reflection
• No Native Methods
• Threading, but no use of interrupt()
• No file-based I/O
• Many classes with fewer methods
• Collections (Vector, Hashtable & Stack)
32. J2ME Core Concepts
J2ME is based on 3 core concepts:
• Configurations
• Profiles
• Optional packages
J2ME
33. Optional Packages
• Set of APIs in support of additional, common
behaviors.
• Have specific dependencies on a particular
configuration and/or one or more profiles.
• Examples of optional packages :
– RMI Optional Package
– Bluetooth Optional Package
– JDBC Optional Package
J2ME
38. Creating a new Application
• Press “New Project”.
• Enter the project’s name and the MIDlet’s class
name.
• New directories will automatically be created.
J2ME
39. Where to place your files?
J2ME/apps/{proj} source, resource, and binary
files
J2ME/apps/{proj}/bin JAR, JAD, unpacked manifest
files.
J2ME/apps/{proj}/lib external class libraries, (JAR or
ZIP) for a specific project
J2ME/apps/{proj}/res resource files
J2ME/apps/{proj}/src source files
external class libraries, (JAR or
J2ME/apps/lib
ZIP) for all KToolbar projects.
J2ME
40. And then what?
• Choose the target platform
• Write your code Java Technology for the Wireless Industry
JTWI - conforms to
(JSR-185).
• SaveMIDP1.0 - includes MIDP 1.0 and CLDC 1.0
Custom - user defined settings, you can select project
• Build
profile, configurations and various APIs.
(Compile + Preverify)
• Run
J2ME
41. Distribution to actual devices
• Create a package
• Place your code somewhere on the net.
• Update .jad file
• Download the application to your mobile
• Start playing…
J2ME