Search This Blog

Thursday, January 14, 2010

J2ME Technical discussion part-1

J2ME Technical discussion part-1

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

>> 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 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, 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 Enterprise Edition (J2EE)

-- 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., 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.



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