01 dmaj session 01a
TRANSCRIPT
-
8/6/2019 01 DMAJ Session 01A
1/22
Slide 1 of 22Ver. 1.0
Developing Mobile Applications Using Java
The availability of wireless Internet services on mobile
devices is making communication possible anywhere and at
anytime.
Java offers a flexible and robust platform for mobile
application development with enterprise-class performance,reliability, and value.
Java Micro Edition (Java ME) allows developers to use the
Sun Java wireless toolkit to create applications and
programs for wireless and mobile devices.
The Developing Mobile Applications Using Java courseenables you to develop, debug, test, and securely deploy
mobile applications by using Java ME.
Rationale
-
8/6/2019 01 DMAJ Session 01A
2/22
-
8/6/2019 01 DMAJ Session 01A
3/22
Slide 3 of 22Ver. 1.0
Developing Mobile Applications Using Java
Introduction to Mobile Application Development
Mobile applications are developed for handheld devices,
such as mobile phones and Personal Digital Assistants
(PDAs).
At present, several platforms such as Java Micro Edition
(Java ME), Symbian, Binary Runtime environment forWireless (BREW), Microsoft .NET Compact Framework,
Objective C, and Python are available for developing mobile
applications.
-
8/6/2019 01 DMAJ Session 01A
4/22
Slide 4 of 22Ver. 1.0
Developing Mobile Applications Using Java
Introduction to Mobile Application Development (Contd.)
Java ME:
Is also known as Java 2 Micro Edition (J2ME).
Is a Java-based platform developed by Sun Microsystems.
Provides an environment for developing applications for
wireless mobile devices and embedded devices.Includes flexible User Interfaces (UIs), a strong security model,
and built-in network protocols that can be used to create rich
and powerful wireless applications for mobile devices.
-
8/6/2019 01 DMAJ Session 01A
5/22
-
8/6/2019 01 DMAJ Session 01A
6/22
Slide 6 of 22Ver. 1.0
Developing Mobile Applications Using Java
Introducing Java ME
Sun Microsystems have released several versions of Java,
and they have maintained a consistent architecture across
these versions.
The three Java editions are:
Java Standard Edition (Java SE)Java Enterprise Edition (Java EE)
Java ME
-
8/6/2019 01 DMAJ Session 01A
7/22
Slide 7 of 22Ver. 1.0
Developing Mobile Applications Using Java
Introducing Java ME (Contd.)
Java ME:
Shares some classes with Java SE and Java EE.
Contains its own classes, called Profile Application Program
Interfaces (Profile APIs) that are not a part of Java SE and
Java EE APIs.The following figure shows the library sets of the three Java
editions in terms of a set diagram.
-
8/6/2019 01 DMAJ Session 01A
8/22
-
8/6/2019 01 DMAJ Session 01A
9/22
Slide 9 of 22Ver. 1.0
Developing Mobile Applications Using Java
Understanding the Java ME Architecture
The micro world
includes a wide range
of devices with
different capabilities.
Is it possible to
create a single
software product tosuit all of them?
-
8/6/2019 01 DMAJ Session 01A
10/22
Slide 10 of 22Ver. 1.0
Developing Mobile Applications Using Java
Understanding the Java ME Architecture (Contd.)
No, it is not possible to
create a single software
product to suit all of them.
-
8/6/2019 01 DMAJ Session 01A
11/22
Slide 11 of 22Ver. 1.0
Developing Mobile Applications Using Java
Understanding the Java ME Architecture (Contd.)
Java ME is designed as a
collection of specifications that
define a set of platforms.
Each of these platforms is
suitable for a subset of the
collection of devices that fall
within its scope.
This subset for a particular
collection of devices is defined
by a configuration and one or
more profiles.
The configuration and profile,
together, provide APIs to
develop applications for this
collection of devices.
-
8/6/2019 01 DMAJ Session 01A
12/22
Slide 12 of 22Ver. 1.0
Developing Mobile Applications Using Java
Understanding the Java ME Architecture (Contd.)
Describing Java ME configurations:
A configuration is a specification that defines a software
environment for a range of devices defined by a set of
characteristics that the specification relies upon.
The characteristics that are defined for the range of devicesmay be the:
Type and amount of memory available.
Type of processor and its speed.
Type of network connections available to the devices.
A configuration:
Represents the minimum platform for the devices.Provides the basic set of classes and libraries required to support
devices with similar memory and processing requirements.
-
8/6/2019 01 DMAJ Session 01A
13/22
Slide 13 of 22Ver. 1.0
Developing Mobile Applications Using Java
Understanding the Java ME Architecture (Contd.)
The Java ME architecture is based on two types of
configurations:
Connected Device Configuration (CDC)
Connected Limited Device Configuration (CLDC)
CLDC defines a basic set of classes and libraries forresource-restricted devices such as mobile phones and
PDAs.
CDC defines a basic set of classes and libraries for devices
such as set-top boxes.
-
8/6/2019 01 DMAJ Session 01A
14/22
Slide 14 of 22Ver. 1.0
Developing Mobile Applications Using Java
Understanding the Java ME Architecture (Contd.)
Describing Java ME Profiles:
A profile provides additional classes for a certain range of
devices within the framework of a chosen configuration.
The classes provided by the profile are suitable to a particular
family of devices within a given configuration.Profiles help in managing device-specific features, such as
creating Graphical User Interfaces (GUIs), and managing data
storage and network connections.
The Mobile Information Device Profile (MIDP) is a
CLDC-based profile that defines class libraries to develop
applications for network-connectable mobile devices.The Foundation profile is a CDC-based profile.
-
8/6/2019 01 DMAJ Session 01A
15/22
Slide 15 of 22Ver. 1.0
Developing Mobile Applications Using Java
Understanding the Java ME Architecture (Contd.)
Describing the Java ME Architecture:
Java ME uses a layered architecture, which defines the
following major categories of components:
Configuration layer: This layer includes a Kilobytes Virtual
Machine (KVM) or C Virtual Machine (CVM), which is similar to the
Java Virtual Machine (JVM).
Profile layer: This layer adds classes to the chosen configuration
to support device specific functionalities.
The Java ME layered architecture also includes an additional
layer of optional packages.
Optional packages:Are always used in combination with a configuration or a profile.
Add standard APIs to develop applications that provide
functionality, such as ability to send messages and play audio
content.
-
8/6/2019 01 DMAJ Session 01A
16/22
Slide 16 of 22Ver. 1.0
Developing Mobile Applications Using Java
Understanding the Java ME Architecture (Contd.)
Example for optional package:
Wireless Messaging API (WMA) is an optional package that can
be used to develop applications for sending and receiving
messages through mobile devices having Short Messaging
Service (SMS) capabilities.
The WMA package can be used with CLDC and MIDP, or withsome other configuration and profile.
-
8/6/2019 01 DMAJ Session 01A
17/22
Slide 17 of 22Ver. 1.0
Developing Mobile Applications Using Java
Understanding the Java ME Architecture (Contd.)
The following figure depicts the layered architecture of Java
ME for the CLDC configuration.
-
8/6/2019 01 DMAJ Session 01A
18/22
Slide 18 of 22Ver. 1.0
Developing Mobile Applications Using Java
Steve is a mobile application developer with Info Super
Corp. He is assigned the task to develop a game application
for mobile devices. Steve needs to add GUI to the game
application. Which layer of Java ME architecture can
provide him the class libraries to perform the required task?
Just a Minute
Solution:
Profile layer
-
8/6/2019 01 DMAJ Session 01A
19/22
Slide 19 of 22Ver. 1.0
Developing Mobile Applications Using Java
Features of Java ME
The features of the Java ME platform are:
Security
Portability
Dynamic content delivery
Enhanced UI and Interactive contentOffline access
Compatibility with Java SE and Java EE platforms
-
8/6/2019 01 DMAJ Session 01A
20/22
Slide 20 of 22Ver. 1.0
Developing Mobile Applications Using Java
In this session, you learned that:
Java ME provides an environment for developing applications
for wireless mobile devices, such as mobile phones and PDAs,
and embedded devices, such as set-top boxes and printers.
The Java ME platform includes flexible UIs, a strong securitymodel, and built-in network protocols that can be used to
create rich and powerful wireless applications for mobile
devices.
The Java ME architecture is designed for small devices that
have common hardware and software characteristics. Some of
these characteristics are:Limited memory
Limited processing
Limited display
Limited input methods
Limited networking capabilities
Summary
-
8/6/2019 01 DMAJ Session 01A
21/22
Slide 21 of 22Ver. 1.0
Developing Mobile Applications Using Java
A configuration and a profile, together, provide APIs to develop
mobile applications.
A configuration is a specification that defines the software
environment for mobile devices.
The two types of configurations in Java ME are CDC and
CLDC.
The MIDP is a commonly used Java ME profile for CLDC.
Java ME uses a layered architecture, which defines the
following major categories of components:
Configuration layer
Profile layerThe Java ME layered architecture also includes an additional
layer of optional packages, which is always used in
combination with a configuration or a profile.
Summary (Contd.)
-
8/6/2019 01 DMAJ Session 01A
22/22
Slide 22 of 22Ver. 1.0
Developing Mobile Applications Using Java
The features of the Java ME platform are:
Profile layer
Security
Portability
Dynamic content delivery
Enhanced UI and Interactive content
Offline access
Compatibility with Java SE and Java EE platforms
Summary (Contd.)