When I was involved in development of small ERP package for our client, we got the requirement to send their critical / decision making information to their MD mobile phone from web application.
So I have started exploring about the J2ME technology. For that project I am the technical co-coordinator, I have to teach my entire colleague about the J2ME and I have to complete the same as soon as possible.
Even I have taken some class about J2ME in different coaching center as guest lecture.
For that I have prepared some presentation and slide.
I want to share to all who are looking to start learning about J2ME.
So I have given name as technical discussion part-1. Soon you can expert part 2., 3,4…
Let’s enjoy….
For presentation I have referred the following book:
1. Core J2ME Technology & MIDP - John W. Muchow
Part-1 we are going to look the following topics:
>>Introduction of mobile Technology
>>Software Technology for
>> 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”
>> The internet scenario of retrieving information in a wireless network
>> Mobile Networking
-- GSM,GPRS,EDGE
>> Generation
-- 1G,2G,2.5G,2.75G,3G and 4G.
-- IEEE802.11
-- Infrared and Bluetooth
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 |
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.5G EDGE-2.75G | It allows higher rate of data transmission |
Third Generation(3G) | UMTS- Europe CDMA2000- North America and Part of | 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
-- 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, Smart phone, and Handheld PC
>> 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
-- Java 2 Micro Edition (J2ME)
>>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
>> 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
• 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)
>> Different Layers of J2ME
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 o 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
>> 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
>>Not Addresses (but in MIDP)
– User Interface functionality
– Event handling
– High-Level application model
– Application life-cycle management
>>CLDC API
--io
– Input Stream, 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
>>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
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 Profile
CDC => Foundation Profile
J2ME Arch.,
>> 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.
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:
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
No comments:
Post a Comment