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