The Java Platform Micro Edition Java ME

Slides:



Advertisements
Similar presentations
Fakultät für informatik informatik 12 technische universität dortmund Imperative model of computation Peter Marwedel TU Dortmund, Informatik 12 Graphics:
Advertisements

MIDP Mobile Information Device Profile Johnny Yau CIS 642 Prof. Insup Lee.
A Mobile Agent Architecture for Heterogeneous Devices Presented by: Chuong Hoang CS Software Architect and Design The University of Texas at Dallas.
Pengantar Teknologi Mobile 12
Introduction of J2ME Mobile solutions. Overview What is J2ME. How does J2ME work? Java J2ME Carriers and Products. The Two Configuration of J2ME. Profiles.
Android architecture overview
Multimedia Network Communications Subject:T0934 / Multimedia Programming Foundation Session:13 Tahun:2009 Versi:1/0.
J2ME 25 July Overview  What is J2ME?  The CLDC and CDC configurations  MIDP and MIDlets  Development Tools  Demonstrations.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Introduction to Java 2 Micro Edition Mark Balbes, Ph.D. Senior Software Engineer Jeff Brown Senior Software Engineer.
Bluetooth and java – a perfect match? Sean O Sullivan ceo Nordic Bluetooth, October 5th, 2001.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 10 Java for MIDs Rob Pooley
Developing an Application with J2ME Technology Scott Palmer, Nat Panchee, Judy Sullivan, Karen Thabet, Sten Westgard.
Prepared By E.Musa Alyaman1 Chapter 2 The Java Overview.
Developing Software for Wireless Devices
11 Web Services Dr. Miguel A. Labrador Department of Computer Science & Engineering
J2ME Prepared by: - Gaery- Ronny - Alan- Andy. Why Technology for Mobile Devices? The nature of wireless devices is changing Old devices: All the software.
PDA Programming Using J2ME Presenter :涂俊凱 Date : 2003/4/8.
Making Cell Phone Games An Overview Ray Ratelis Guild Software, Inc.
V0.01 © 2009 Research In Motion Limited Understanding Java APIs for Mobile Devices Trainer name Date.
Developing J2ME Applications Mobile and Wireless Networks.
The 21th century Repairman Agenda Introduction J2EE J2ME Demonstration.
Cosc 4730 Phone Programming in Java An Introduction.
Java 2 Platform, Micro Edition (J2ME) By Xiaorong Wang.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Topics on KVM Presented By Xiaozhou David Zhu. Topics covered Introduction Java2 Platform Micro Edition CLDC KVM.
Android Introduction Platform Overview.
An Introduction to the Java ME Project Jens A Andersson.
Getting Started with JXTA for J2ME Advisor : Dr. Ching-Long Yeh Report : DI.2, 洪泰昌 ( ) Course: XML 文件管理.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Michael Brockway Advanced Applications Development in Java J2ME -- Introduction l Introduction / Overview l Java 2 Micro Edition n CLDC n MIDP l Examples.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 11 J2ME and MIDlets Rob Pooley
Mobile Applications and Java ME
Small Devices on DBGlobe System George Samaras Chara Skouteli.
Framework and application bytecode size CLDC MIDP kXML parser Utility classes Graphics Logic (MIDlet) Application Data (XML file)
Computer Science Wi-Fi App using J2ME and MVC Architecture Advisor : Dr. Chung-E Wang Department of Computer Science Sacramento State University Date:
J2ME Presented by May Sayed & Menna Hawash. Outline Introduction “Java Technology” Introduction “What is J2ME?” J2ME Architecture J2ME Core Concepts 
Java 2 Micro Edition (J2ME) and the world of java
1Basics of J2ME. 2 Objectives –Understand the different java API’s and how the mobile edition API’s fit in –Understand what a mobile configuration and.
Other Popular Java Technologies Internationalization in Java Graphics Programming in Java Security Programming in Java Collections and Data Structures.
Java 2 Micro Edition The Connected, Limited Device Configuration.
CLDC
Java 2 Platform, Micro Edition (J2ME)
Mobile Programming Mobile Programming - Ordibehesht Ordibehesht 1390.
Enhanced mobile services in Java enabled phones Björn Hjelt Sonera zed ltd Supervisor: Professor Jorma Jormakka.
 This work confers an application which makes possible to use a Bluetooth enabled mobile phone to remote control home appliances such electric fan, LEDs.
Advance Computer Programming Market for Java ME The Java ME Platform – Java 2 Micro Edition (J2ME) combines a resource- constrained JVM and a set of Java.
Visual Mobile Applications with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
Visual Mobile Gaming Your Name Sun Campus Ambassador Your Address.
1 Mobile Operating Systems BY:- Aashish Uppal CSE-1/7 th Sem (63/ )
Object Oriented Programming in
Visit for more Learning Resources
Java N Amanquah.
Part II Software When developing software there are several particularities to be aware of: Java is widespread used because of the platform independence.
Programming of Handheld and Mobile Devices
MOBILE DEVICE OPERATING SYSTEM
Jickler Presented To: Core Presented By: Baiju Chandran T
Wireless Instant Messaging Using J2ME
CMPE419 Mobile Application Development
By Jeff Heaton An Overview of J2ME By Jeff Heaton
Session 10 J2ME Prof. Sridhar Iyer IIT Bombay
By Zhongyin J. Daye Han-Chung Lee
Java for Mobile Devices
Android Introduction Platform Mihail L. Sichitiu.
CMPE419 Mobile Application Development
M S COLLEGE ART’S, COMM., SCI. & BMS
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

The Java Platform Micro Edition Java ME Dr. Miguel A. Labrador Department of Computer Science & Engineering labrador@csee.usf.edu http://www.csee.usf.edu/~labrador

Outline The Java platform The Java ME platform The Connected Limited Device Configuration (CLDC) 1.1 The Mobile Information Device Profile (MIDP) 2.0 Optional packages

Operating System Java Virtual Machine The Java Platform Operating System Java Virtual Machine Java Enterprise Edition (Java EE) Java Standard Edition (Java SE) Java Micro Edition (Java ME) TV set up boxes, cellular phones, smart phones, PDAs PCs, laptops Servers

The Java Platform Source: Sun Microsystems white paper “Java 2 ME Building Blocks for Mobile Devices”

The Java Platform Micro Edition (Java ME) Java platform for mobile devices and embedded systems Resource-constrained in terms of CPU, memory, energy Smallest footprint and smallest VM Differentiates between different types of resource-constrained devices Some with more resources, such as set up boxes, automobile navigation systems More constrained devices, such as cellular phones, PDAs, pagers Architecture has four layers JVM that sits on top of the operating system The configuration layer The profile layer Optional packages layer

Operating System Java Virtual Machine The Java ME Platform Operating System Java Virtual Machine Optional Packages Connected Limited Device Configuration (CLDC) Connected Device Configuration (CDC) Mobile Information Device Profile (MIDP) Foundation Profile Personal Profile

More resource-constrained devices The Java ME Platform More resource-constrained devices Operating System Java Virtual Machine Optional Packages Connected Limited Device Configuration (CLDC) Connected Device Configuration (CDC) Mobile Information Device Profile (MIDP) Foundation Profile Personal Profile

The CLDC 1.1 Targets devices with 192KB of memory, 16-bit or 32-bit processors, low power consumption, intermittent connectivity and limited bandwidth Cell phones, pagers, PDAs, and the like Contains core Java libraries (java.lang.*; java.utili.*) and APIs for input/output, security, and networking Java programming language and VM features Libraries and APIs

Java Programming Language and VM features Floating point support Float and Double Calendar, Date, Timezone, and Thread objects redesigned to be more Java SE-compliant JVM the same as the one used in Java SE, except: No finalization of class instances Method Object.finalize() not included Exemption and error handling limitations User-defined class loaders are not supported Thread groups not supported; only individual threads Class file verification not supported Only offline preverification with stack maps

The Preverification Process Source: Sun Microsystems white paper “Java 2 ME Building Blocks for Mobile Devices”

Libraries and APIs For upward compatibility, CLDC 1.1 includes libraries that are a subset of the standard libraries included in Java SE and EE platforms System classes essential to the Java programming language Java.lang package: java.lang.Object, *.Class, *.Runtime, *.System, *.Thread, *.Runnable, *.String, *.StringBuffer, *.Throwable Data type classes Java.lang.Boolean, *.Byte, *.Short, *.Integer, *.Long, *.Float, *.Double, *.Character Collection classes Java.util.Vector, *.Stack, *.Hastable, *.Enumeration, *.Random, *.Math Input/Output classes Java.io.InputStream, *.OutputStream, *.ByteArrayInputStream, *.ByteArrayOutputStream, *.DataInput, *.DataOutput, *.DataInputStream, *.DataOutputStream, *.Reader, *.Writer, etc.

Libraries and APIs CLDC also includes some specific classes Calendar and Time classes Java.util.Calendar, *.Date, *.TimeZone Exception and Error classes Java.util.Exception, *.AruthmeticException, *.ArrayStoreException, *.NullPointerException, *.NumberFormatException, *.RuntimeException, *.SecurityException, others. Java.lang.Error, *.NoClassDefFoundError, *.OutOfMemoryError, *.VirtualMachineError CLDC also includes some specific classes Described within the Generic Connection Framework (GCF) Provide minimum input/output and networking support needed by all devices while opening the door for extending these capabilities and implementing new ones as needed by specific devices Reduces footprint

Libraries and APIs GCF included in the javax.microedition.io package and implements six basic Connection APIs InputConnection openInputStream and openDataInputStream methods OutputConnection openOutputStream and openDataOutputStream methods StreamConnection Combines InputConnection and OutputConnection interfaces Two way communication ContentConnection Sub-interface of the StreamConnection interface that provides basic information contained in HTTP connections StreamConnectionNotifier acceptAndOpen method to block client program and wait for connection

Libraries and APIs DatagramConnection Implements several methods to handle input/output of datagrams Receive(), send(), getMaximunLength() The GCF includes a general abstraction to handle all forms of communications Connector.open (“<protocol>:<address>;<parameters>”); Connector.open(http://www.csee.usf.edu); Connector.open(“socket://192.168.0.2:2800”); Connector.open(“comm:0;baudrate=4800”); Connector.open(“datagram://192.168.0.2:2800”);

The MIDP 2.0 If the CLDC is a contract between the device and the Java programming language, the MIDP is a contract between the Java programming language and the application developer MIDP is the profile defined for CLDC devices Minimum set of APIs required to develop graphical and networked applications for resource-constrained mobile devices or MIDlets User Interface APIs, Game APIs, Networking APIs, Security APIs, Sound APIs, Storage APIs MIDlets and MIDlets development will be covered right after this topic

Optional Packages The Java ME platform is very rich in additional packages Mobile Media API (JSR 135) Access and control multimedia resources and files. The Sound API included in MIDP is a subset of this API Security and Trust Services API (JSR 177) Session Initiation Protocol API (JSR 180) Mobile 3D Graphics API (JSR 184) Event Tracking API (JSR 190) Wireless Messaging API (JSR 120) Location API (JSR 293) Java ME Web Services API (JSR 172) Many others