Out Line
>>Introduction of mobile Technology>>Software Technology for Mobile device>> Java 2 Platforms>>J2ME Introduction
-- Architecture -- Configuration(CLDC,CDC) -- Profile(MIDP,PDAP –CLDC & FP,PBP,PP-CDC ) -- Optional Packages(RMI-FP , Bluetooth-CLDC, JDBC- FP)>> Setting up J2ME Development Environment
Introduction of mobile Technology
>> The goals of mobile Technology-- Connecting people -- Information sharing-- Internet access and -- Entertainment
>> Includes-- Mobile phone, PDAs, Note book, Set top box
With the most important words “at any time any where”
Introduction of mobile Technology(Cont.,)
>> The internet scenario of retrieving information in a wireless network
We
b Se
rvers
InternetWireless Network
Base Station
Request :
Response :
Introduction of mobile Technology(Cont.,)
>> Mobile Networking
-- GSM,GPRS,EDGE>> Generation
-- 1G,2G,2.5G,2.75G,3G and 4G.-- IEEE802.11-- Infrared and Bluetooth
Introduction of mobile Technology(Cont.,)
Mobile networking
Short Form Cellular Type Data Transfer speed
GSM Global system for mobile communication
Digital cellular system
9.6 kbps
EDGE Enhanced Data GSM Environment
Faster version of GSM wireless service
384 kbps
GPRS General Packet Radio Service
Its an standard for wireless communication
115 kbps
Introduction of mobile Technology(Cont.,)
Generation Technology Description
First generation(1G)
Analog system designed for only voice communication.
-
Second Generation(2G)
Use GSM network for voice communication
-
2.5G and 2.75 G GPRS-2.5GEDGE-2.75G
It allows higher rate of data transmission
Third Generation(3G)
UMTS- EuropeCDMA2000- North America and Part of Asia
Higher data transmission (2Mbps).allow video conference
Fourth Generation(4G)
Combined the wireless local area network and 3G
-
Software technology for mobile device
>> Mobile application development software package-- Windows mobile-- Symbian-- Embedded visual C++ and .Net-- J2ME
>> Windows Mobile-- Windows Mobile is Microsoft's software platform for Pocket PCs and Smart phones. Windows Mobile extends the familiarity of the Windows desktop to personal devices.-- Windows Powered mobile devices include Pocket PC, Pocket PC Phone Edition, Smartphone, and Handheld PC
Software technology for mobile device(cont.,)
>> Symbian
-- OS for mobile device-- It provide low level function for application development.
>> Embedded Visual C++ and .net
-- It is a programming language -- Allow programmer to develop application on windows mobile platform
Java 2 Platform>> Java 2 platform includes three edition of java
-- Java 2 Standard Edition(J2SE)-- Java 2 Enterprise Edition(J2EE)-- Java 2 Micro Edition(J2ME)
Java2 Standard Edition
(J2SE)
Java2 Enterprise Edition
(J2EE)
Java2 Micro Edition
(J2ME)
Java 2 Platform
Standard desktop &Workstation Applications
Heavy duty serversystems
Small & memory Constrained devices
Java 2 Platform(Cont.,)
>>J2SE
-- Provide a complete environment for application development on desktop and server.-- Its foundation of J2EE.
>>J2EE
-- Targeted for business use-- Large scale of the system which may contain tens of servers millions of users-- Web bases services-- Machines are high performance
Java 2 Platform(Cont.,)
>> J2ME-- used for less memory and low processing power device .-- Java platform for small devices.-- For programming the mobile devices.-- Using J2ME we can develop the application for small devices ie., Extremely limited memory , small screen size , alternative input method, and slow process.
J2ME introduction >> what is J2ME
• Java platform for small devices
• A subset of Java 2 Standard Edition
• For programming the palm
• For programming the mobile device (e.g mobile phones or WinCE…)
CDC (Connected Device Configuration)CLDC (Connected Limited Device Configuration)
J2ME introduction (cont.,)
>> Different Layers of J2ME MIDP Profile OEM
MID Profile
CLDC
OEMAPIs
ConfigurationLayer
ProfilesLayer
KVM
J2ME Architecture
>> To increase the flexibility design , J2ME consists of four distinct layers-- Kilo byte virtual machine-- Configurations-- Profiles -- Optional packages.
Kilo Byte Virtual Machine(KVM Archi.,)
>> Its used for small program>> Its sub set of JVM>> A pool for running java code on the device>> 40-80 kilo byte in size>>For devices with 160 KB of memory and 16 or 32-bit
RISC/CISC microprocessors
Configurations (KVM Archi.,)
>> Definition
Defines the minimum Java technology for a broad range of devices with similar capabilities
>>A configuration defines the minimum set of libraries and VM capabilities
>>Devices have similar processing and power and memory constraints
>> There are two type of configuration-- CLDC -Connected limited device configuration-- CDC – Connected device configuration
CLDC (Connected Limited Device Configuration)
>> Targeted at devices with:– 160KB to 512KB total memory available for Java
technology– Limited power (battery), connectivity (often intermittent),
UI (small screen)>>Addresses
– Java language and virtual machine features– Core Java Libraries– Input/Output– Networking– Security
•Core java.* libraries•Additional I/O and•networking libs•Security features•Internationalization
CLDC (Connected Limited Device Configuration)>>Not Addresses (but in MIDP)
– User Interface functionality– Event handling– High-Level application model– Application life-cycle management
>>CLDC API--io– InputStream, OutputStream, Reader, Writer
• lang - No floating point support• util
– Calendar, Date, Hashtable, Random, Stack, TimeZone, Vector, Enumeration
• javax.microedition.io– Connection, Datagram, InputConnection,
OutputConnection, Connector
CLDC (Connected Limited Device Configuration)
>>Only CLDC is not enough for building applications>>CLDC is the base for building the above profiles>>It separates the machine dependent issues from the
applications>>There are two version of CLDC
– CLDC 1.0– CLDC 1.1
>> Main differences between 1.0 and 1.1 are– Floating point is added in 1.1– More Date related classes is added in 1.1– The minimum memory budget has been raised from 160 to 192 kilobytes
>>Today, most mobile phones only support 1.0 version
Connected Device Configuration
>> Targeted for devices that have – 2 MB or more total available memory– Memory dedicated to J2ME environment– More than 2MB ROM/Flash– More than 512 KB RAM– Network connectivity
>> Full Java 2 Virtual Machine specification
Connected Device Configuration
>> CDC uses– Wireless communicators– High-end PDAs– TV set-top boxes– Gateways– Automotive entertainment and navigation systems– Telecomm/Networking Equipment– Industrial Controllers
• Full-featured Java 2 platform runs on small devices
J2ME Arch., Profile
>> A profiles layer is a set of Java Based API that extend the J2ME definition
>> UI and presentation capabilities are generally defined at this layer
>> EX: CLDC => MIDP (Mobile Information Device Profile)
CDC => Personal ProfileCDC => Foundation Profile
J2ME Arch., Mobile Information Device Profile
>> Is a set of APIs that allow developers to control mobile device-specific problems– i.e. user interfaces, local storage and client application
lifecycles etc.>> MIDlets minimum requirements
– 96 x 54 pixels mono screen– two-way wireless network– input device (i.e. keypad)– 128 KB ROM for CLDC/MIDP class and another 32 KB RAM
for the KVM>> Midlets are the most important and popular
applications in the J2ME family.
J2ME Archi., MIDP
MIDlet Programming
• Any MIDP application must extends MIDlet • This is the MIDP equivalent of an applet,
where starting/stopping is under the control of the environment
• Like Java applets, MIDlets have an application life cycle while running on a mobile device.
MIDlet Transition States• Specifically, a MIDlet can be in one of three
states as shown:
Why do we need a Paused state?
MIDP - API
• javax.microedition.midlet– (application management)
• javax.microedition.lcdui– High-level development
• Form, TextBox, List, Alert– Low-level development
• Canvas: Game applications will likely make heavy use of the
• javax.microedition.rms– RecordStore
• A record store consists of a collection of records which will remain persistent across multiple invocations of the MIDlet
MIDP API Tree
View
Displayable
FormText Box ListAlert Canvas
Command
Date Field
Image
Text FieldString Item
Ticker
Choice Group