Pengantar Teknologi Mobile 12

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

MIDP Mobile Information Device Profile Johnny Yau CIS 642 Prof. Insup Lee.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 6A Operating System Basics PART II.
Java 2D Training. Basic Tools Java SDK 1.4x Wireless Toolkit 2.x NetBeans IDE + mobility pack Global Code editor Text Comparer Tools Graphics Editor Sprite.
Presentation 11: SOAP on small devices. Ingeniørhøjskolen i Århus Slide 2 af 14 Outline Which small devices? What are the limitations and what kind of.
Introduction of J2ME Mobile solutions. Overview What is J2ME. How does J2ME work? Java J2ME Carriers and Products. The Two Configuration of J2ME. Profiles.
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.
Writing Your First MIDlet Running JAVA on a Cell Phone Jon A. Batcheller January 27, 2004.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 10 Java for MIDs Rob Pooley
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
Developing an Application with J2ME Technology Scott Palmer, Nat Panchee, Judy Sullivan, Karen Thabet, Sten Westgard.
JAVA Technology. Java Technology Java technology is a portfolio of products that are based on the power of networks and the idea that the same software.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
Developing Software for Wireless Devices
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.
Introduction of J2ME.
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.
Cosc 4730 Phone Programming in Java An Introduction.
Java 2 Platform, Micro Edition (J2ME) By Xiaorong Wang.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
J2ME and WAP Technologies CSCI – Independent Study Fall 2002 Presented by: Kashif Syed.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
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.
EclipseME Java Micro Edition The Eclipse Way Craig Setera April 19, 2006.
J2ME Java for Mobile Environments Based on J2ME In A Nutshell, by Kim Topley, O’Reilly & Associates Inc., 2002, and Tetris by Alexei Patinov.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Project By:. 2 Agenda Introduction Problem Definition Proposed Solution Block Diagram Flowchart Technical Implementation Hardware & Software Requirements.
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
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
Mark J. Salamango Chief Pervasive Architect USA TACOM Tel: Fax: Pervasive Computing: Why did the logistics.
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.
Martin Schmidt / The Silent Revolution Mobile Java.
Java 2 Micro Edition The Connected, Limited Device Configuration.
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
Mobile Programming Mobile Programming - Ordibehesht Ordibehesht 1390.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Enhanced mobile services in Java enabled phones Björn Hjelt Sonera zed ltd Supervisor: Professor Jorma Jormakka.
Introduction to JAVA Programming
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/ )
The Java Platform Micro Edition Java ME
Computer System Structures
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
Wireless Instant Messaging Using J2ME
Introduction Enosis Learning.
CMPE419 Mobile Application Development
By Jeff Heaton An Overview of J2ME By Jeff Heaton
Introduction Enosis Learning.
Java for Mobile Devices
CMPE419 Mobile Application Development
Presentation transcript:

Pengantar Teknologi Mobile 12 J2ME Antonius Rachmat C, S.Kom

Software Technology for Mobile Device J2ME (Java 2, Micro Edition) Normally used for less memory and low processing power devices (usually small devices) A collection of packages and classes for application development on mobile devices On December 2006, J2ME is under GPL, under project named phoneME.

J2ME Overview Java A programming language developed by Sun Microsystems Compile to bytecode Required a Virtual machine to interpret bytecode Syntax is similar to C++ Platform independent feature

J2ME Overview Java includes three different editions J2SE (Java 2 Standard Edition) J2EE (Java 2 Enterprise Edition) J2ME (Java 2 Micro Edition) The above three editions target for different devices or systems

J2ME Overview

J2ME Overview J2SE Provides a complete environment for applications development on desktops and servers The foundation of J2EE J2SE 1.5 (Tiger) is available now! J2SE 1.6 also available, update 6

J2ME Overview J2EE Target for business use Large scale of systems which may contain tens of servers and millions of users Web based services Machines are high performance

J2ME Overview J2ME The Micro Edition of the Java 2 Platform provides an application environment that specifically addresses the needs of commodities in the vast and rapidly growing consumer and embedded space, including mobile phones, pagers, PDAs, set-top boxes, and vehicle telematics systems

J2ME Overview J2ME Architecture

J2ME Overview J2ME architecture is divided in to four different level KVM (Kilobyte Virtual Machine) Configurations Profiles Optional packages

J2ME Overview KVM (Kilobyte Virtual Machine) Configurations As the name implies, it is used for small program A subset of JVM A pool for running java code on the device Configurations defines a basic J2ME runtime environment includes the virtual machine and a set of core classes derived primarily from J2SE

J2ME Overview There are two different configurations Connected Device Configuration (CDC) Connected Limited Device Configuration (CLDC) Relation between CLDC and CDC

J2ME Overview - CDC Targeted for devices that have: > 2.5 MB 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 CDC uses Wireless communicators High-end PDAs TV set-top boxes Gateways Automotive entertainment and navigation systems Telecomm/Networking Equipment Industrial Controllers

J2ME Overview - CDC Full-featured Java 2 platform runs on small devices Three profiles build on CDC Foundation Profiles (FP) Provides core Java functionalities, such as input/output streams, security, networking Personal Profiles (PP) Support Java Graphical User Interface Personal Basic Profiles (PBP) A smaller set of Personal Profiles We will stop CDC here and focus on CLDC

J2ME Overview - CLDC Targeted at devices with: 160KB to 512KB total memory available for Java technology Limited power (battery), connectivity (often intermittent), UI (small screen)

J2ME Overview - CLDC CLDC scope Core java.* libraries Additional I/O and networking libs Security features Internationalization

J2ME Overview - CLDC Classes extended from Java 2 Platform, Standard Edition (J2SE) are in packages: java.lang.* Contain the basic Mathematics classes and data types java.util.* Contain some commonly used functionalities like Random and Vector (store a set of values) java.io.* Contain the data types for Input/output data New classes introduced by CLDC are in package: javax.microedition.*

J2ME Overview - CLDC 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

J2ME Overview - CLDC There are two version of CLDC Today, most mobile phones only support 1.0 version 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

J2ME Overview - MIDP Mobile Information Device Profile Profile addresses Display toolkit, user input methods Persistent data storage HTTP 1.1-based networking using CLDC Generic Connection framework

J2ME Overview - MIDP Scope Application model Persistent storage (RMS APIs) Networking (HTTP, etc.) User interface (High and low level APIs)

J2ME Overview - MIDP MIDP Application Lifecycle MIDP applications, or “MIDlets”, move from state to state in their lifecycle according to a state diagram Paused – initialized and waiting Active – has resources and is executing Destroyed – has released all resources, destroyed threads, and ended all activity

J2ME Overview - MIDP MIDlet Packaging MIDlets are packaged in a JAR (like a zip file) file including Class files of the MIDlet(s) Resource files Manifest with application properties Application Descriptors (JAD files) accompany MIDlet JARs and provide deployment information (name, version, size, etc.)

J2ME Overview - MIDP MIDlet Development Steps Write your Java application Compile it Preverify it Package it into a JAR file Create the application descriptor Deploy and run your application in the J2ME Wireless Toolkit or your device of choice

J2ME Overview - MIDP There are two version of MIDP: 1.0 and 2.0, we will focus on 2.0 because Supported by most mobile phone Enhanced UI Game and Sound APIs New Security Model through Signed MIDlets Enhanced Networking, including HTTPS

J2ME Overview - MIDP There are many functionality supported by MIDP Graphical user interface Media Networking Security

J2ME Overview – MIDP 2.0 Graphical user interface includes Included in javax.microedition.lcdui.* “Form” which conatins Basic items : ChoiceGroup -A ChoiceGroup is a group of selectable elements intended to be placed within a Form ImageItem –Hold an image for display StringItem – display text And some others like CustomItem, Gauge, DateField … Form is used for simple screen output and text input A simple calendar application develop by Form

J2ME Overview - MIDP Canvas which contains Graphics Draw images and strings Draw rectangles, lines and arcs Set the color used Canvas also allows you to get “key” input from user Form are used for some simple applications only have text input Canvas are used for more interactive applications like games A puzzle game developed by Canvas

J2ME Overview - MIDP Media Security Included in javax.microedition.media.* Allows playing of audio and video Allows control the playing of the media like the volume and tone of audio Security Included in javax.microedition.pki.* Handling security certificate Allows you to get the public and perform encryption or verification

J2ME Overview - MIDP Networking May or may not use IP-based transport Included in javax.microedition.io.* MIDP devices must implement client portion of HTTP 1.1 protocol May or may not use IP-based transport Non-IP Examples: HTTP layered on top of PDC-P for i- mode on WSP for WAP IP is the protocol that we used in Internet

J2ME Phones

Java Special Request

J2ME Resources J2ME Development Tools Sun J2ME Wireless Toolkit (SolarisTM platform, Linux, and Win32), standalone or plugged into Sun ONE Studio Mobile Edition IDE MIDP reference (Palm OS and Win32), CLDC SDK (Solaris platform, Linux, and Win32) Numerous third party tools (Borland/Nokia, Metrowerks/Motorola, Siemens, etc.) Any IDE or Java tool, including J2SE SDK Netbeans Tools from the J2ME Archive (XML parsers and SOAP tools, J2ME-based microbrowsers, kAWT, etc.)

J2ME Resources Sun J2ME Wireless Toolkit

J2ME Resources Development Tools for the J2ME Platform Devices are available NOW Everything needed to start writing great Java applications for mobile devices is available TODAY Many of the best tools are FREE

..END.. Finally, the end of semester Thanks for being my students See u on final exam TAS: after TTS until this slide Open slides only!