TAMZ. JavaME. MIDlets. Department of Computer Science VŠB-Technical University of Ostrava

Size: px
Start display at page:

Download "TAMZ. JavaME. MIDlets. Department of Computer Science VŠB-Technical University of Ostrava"

Transcription

1 MIDlets 1

2 MIDlet A MIDlet is a Java program for embedded devices, more specifically the virtual machine. Generally, these are games and applications that run on a cell phone. MIDlets will (should) run on any device that implements MIDP. Like all Java programs, MIDlets are compile once, run anywhere. A MIDlet must extend the MIDlet class found in the javax.microedition.midlet package. 2

3 Life cycle A MIDlet goes through several phases as part of its life cycle and is always considered to be in on of three states. MIDlet() Paused startapp() pauseapp() Active destroyapp() destroyapp() Destroyed AMS reclaims MIDlet 3

4 Life cycle The MIDlet class serves as the gateway for communicating application-state changes to the AMS and vice versa. Startup MIDlet() Paused AMS pauseapp() startapp() destroyapp() Shutdown Running 4

5 Structure MIDlet should not have a main() method. If one is found then Application Management Software (AMS) ignores it. public class Empty extends MIDlet { protected void startapp() throws MIDletStateChangeException { } protected void pauseapp() { } } protected void destroyapp(boolean unconditional) throws MIDletStateChangeException { } 5

6 Creation Compilation Pre-verification Packaging.java.class.class manifest.txt.jar Internet.jad Deploying 6

7 MIDlet Suite This collection of MIDlets encapsulated in a JAR file is referred to as a MIDlet suite. MIDlets within a MIDlet suite share a common name space for persistent storage, runtime object heap, and static fields in classes. The contents of the MIDlet suite s JAR file include the following components: the class files implementing the MIDlets, any resource files used by the MIDlets: for example, icon or image files, and so forth, a manifest describing the JAR contents. 7

8 MIDlet Suite's Manifest File The JAR manifest specification provides for name-value pairs which MIDP uses to encode MIDlet attributes. These attributes can be retrieved by a MIDlet using the getappproperty() method. All attribute names that start with "MIDlet-" are reserved for use by the MIDP expert group to define MIDlet attributes. The following attributes must be in the JAR manifest: MIDlet-Name, MIDlet-Version, MIDlet-Vendor, A MIDlet-<n> for each MIDlet, MicroEdition-Profile, MicroEdition-Configuration. 8

9 MANIFEST.MF Example MIDlet-Name: TeaTime MIDlet Suite MIDlet-Version: MIDlet-Vendor: Krtek Polni MIDlet-1: TeaTime, /glasswatch.png, tea.timermidlet MIDlet-2: TeaEdit, /tea.png, tea.editor MicroEdition-Profile: MIDP-2.0 MicroEdition-Configuration: CLDC-1.1 9

10 In addition to the JAR file, the MIDP provides for a separate and optional file called the application descriptor. The application descriptor allows the system to verify that the associated MIDlet suite is suited to the device before loading the full JAR file of the MIDlet suite. It also allows MIDlet attributes to be supplied to the MIDlet suite without modifying the JAR file. The following attributes must be in the JAD manifest: MIDlet-Name, MIDlet-Version, MIDlet-Vendor, MIDlet-Jar-URL, MIDlet-Jar-Size. Application Descriptor 10

11 JAR File Contents The getresourceasstream() method of class Class gives access to resources stored in JAR file. META-INF/ META-INF/MANIFEST.MF tea/ tea/timermidlet.class tea/tea.class tea/counddownform.class glasswatch.png warning.png Class c = getclass(); InputStream input = c.getresourceasstream("/meta-inf/manifest.mf"); 11

12 Persistent Record Store 12

13 Persistent Storage Persistent storage is a non-volatile place for storing the state of objects. The MIDP provides a mechanism for MIDlets to persistently store data and retrieve it later. This mechanism is a simple record-oriented database called the Record Management System (RMS). A record store consists of a collection of records which will remain persistent across multiple invocations of the MIDlet. 13

14 Record Store Records are uniquely identified within a given record store by their id, which is an integer value. This id is used as the primary key for the records. The first record created in a record store will have id equal to one. RecordStore store = RecordStore.openRecordStore("contacts", true); String user = byte[] data = user.getbytes(); int id = store.addrecord(data, 0, data.length);... store.setrecord(id, data, 0, data.length);... store.deleterecord(id); store.closerecordstore(); Open/create record store Add record Update record Delete record Close RS 14

15 Accessing records as Data Stream The record store can be accessed as data stream to extract required data parts of the records via ByteArrayInputStream: DataInputStream in = new DataInputStream( new ByteArrayInputStream(storedData.getRecord(i))); in.readint(); in.readboolean(); in.readint(); in.readutf(); ByteArrayOutputStream bytes = new ByteArrayOutputStream(); DataOutputStream out = new DataOutputStream(bytes); out.writeboolean(selectedvalue[i]); out.flush(); byte [] b = bytes.tobytearray(); if (storeddata.getnumrecords() > 0) //detection usable if we store 1 record else storeddata.setrecord(1, b, 0, b.length); storeddata.addrecord(b, 0, b.length); 15

16 Enumerating Records The RecordEnumeration logically maintains a sequence of the ids of the records in a record store. An optional RecordFilter can be used to choose a subset of the records that match the supplied filter. By using an optional RecordComparator, the enumerator can index through the records in an order determined by the comparator. RecordStore store = RecordStore.openRecordStore("contacts", false); RecordEnumeration records = store.enumeraterecords(null, null, false); while (records.hasnextelement()) { //also haspreviouselement() byte[] record = records.nextrecord(); //also previousrecord() //nextrecordid(), previousrecordid() } RecordFilter the implementing class decides subset of records to be used in matches(byte[]) method. RecordComparator the implementation decides order of returned records in compare(byte[], byte[]) method keepupdated should enumeration reflect RS changes? Slower if true. 16

17 GUI 17

18 UI Classes Display Alert Choice List StringItem 0..1 Screen TextBox ImageItem Displayable Form TextField Canvas 0..* DateField Item Gauge ChoiceGroup 18

19 Display Each MIDlet has a reference to one Display object. This object can retrieve information about the current display and includes methods for requesting visual objects to be displayed. The Display object is best thought of as the manager of the display controlling what is shown on the device and when. private Display display; public Welcome() { super(); display = Display.getDisplay(this);... 19

20 Displayable A Displayable is an object that has the capability of being placed on the display. There are two types of Displayable object. Canvas Low-level objects that allow the application to provide the graphics and handle input. Screen High-level object that encapsulates a complete user interface component (for example, classes Alert, List, TextBox, or Form). 20

21 Low-Level User Interface The low-level user interface API for Canvas is designed for applications that need precise placement and control of graphic elements, as well as need access to lowlevel input events. Typical examples are a game board, a chart object, or a graph. Using the low-level user interface API, an application can: control what is drawn on the display, handle primitive events like key presses and releases, access concrete keys and other input devices. 21

22 High-Level User Interface The high-level user interface API is designed for business applications whose client components run on mobile information devices. To achieve portability, the high-level user interface API employes a high level of abstraction and provides very little control over look and feel. Drawing to the display is performed by the device's system software. Applications do not define the visual appearance (such as shape, color, font, and so forth) of the components. Navigation, scrolling, and other primitive interactions with the user interface components are performed by the device. The application is not aware of these interactions. Applications cannot access concrete input mechanisms, such as individual keys. 22

23 List The List class is a Screen that contains a list of choices. Each choice has an associated string and may have an icon. List objects may be created as one of the three types: exclusive, multiple and implicit. 23

24 List Initialization Implicit Lists can be used to construct menus by providing operations as List elements. List list = new List("Select...", List.IMPLICIT); for (int i = 0; i < teas.size(); i++) { Tea tea = (Tea)teas.elementAt(i); list.append(tea.getname(), null); } list.setcommandlistener(this); display.setcurrent(list); 24

25 Selection in Implicit List When the user performs select operation in implicit list, the system will invoke the select command by notifying the List's CommandListener. The default select command is the system-provided command SELECT_COMMAND. public void commandaction(command c, Displayable d) { if (c == List.SELECT_COMMAND) { List list = (List)d; int index = list.getselectedindex();... } else if (c == select) {... 25

26 TextBox The TextBox class defines a Screen that allows the user to enter and edit text. String title = tea + " Description"; String description =... TextBox text = new TextBox(title, description, 256, TextField.ANY); text.addcommand(save); text.addcommand(cancel); display.setcurrent(text); 26

27 Alert Alerts are best used in informational or error messages that stay on the screen for a short period of time and then disappear. Alert alert = new Alert("Tea Time"); alert.settimeout(alert.forever); alert.settype(alerttype.alarm); alert.setstring("your tea has... "); alert.setimage(image); display.setcurrent(alert); 27

28 Form A Form is a Screen that may contain a combination of Items including Strings, Images, editable TextFields, editable DateFields, Gauges and ChoiceGroups. Any of the subclasses of Item. An item may be placed within at most one Form. If the application attempts to place an item into a Form, and the item is already owned by this or another Form, an Illegal- StateException is thrown. 28

29 Form Item Management Items contained within a Form may be edited using append(), delete(), insert(), and set() methods. TextField name = new TextField("Name", "", 16, TextField.ANY); TextField time = new TextField("Infuse...", "", 4, TextField.NUMERIC); TextField description = Form form = new Form("Tea..."); form.append(name); form.append(time); form.addcommand(save); form.addcommand(cancel); form.setcommandlistener(this); 29

30 Exclusive and Multiple Choice A ChoiceGroup is a group of selectable elements intended to be placed within a Form. ChoiceGroup group =... // Choice.EXCLUSIVE int index = group.getselectedindex(); // Choice.MULTIPLE boolean[] selected; group.getselectedflags(selected); 30

31 Popup Choice The selection behavior of a popup choice is identical to that of an exclusive choice. However, a popup choice differs from an exclusive choice in presentation and interaction. In a popup choice, the selected element should always be displayed, and the other elements should remain hidden until the user performs a specific action to show them. ChoiceGroup group = new ChoiceGroup("Select...", Choice.POPUP); 31

32 Gauge Implements a graphical display, such as a bar graph, of an integer value. The Gauge contains a current value that lies between zero and the maximum value, inclusive. A Gauge may be interactive or non-interactive. Gauge gauge = new Gauge(null, true, tea.gettime(), 0); append(gauge); while (gauge.getvalue() - gauge.getmaxvalue()) {... gauge.setvalue(gauge.getvalue() + 1); 32

33 A Ticker implements a ticker-tape, a piece of text that runs continuously across the display. The direction and the speed of scrolling are determined by the device. Tickers can be set on any Screen. A Ticker object can be shared between Screens, so that when switching between Screens the message appears continuously. Ticker Screen screen =... screen.setticker(new Ticker("Select a tea to infuse")); 33

34 Commands Since the MIDP user interface is highly abstract, it does not dictate any concrete user interaction technique such as soft buttons or menus. MIDP applications define Commands, and the implementation can provide user control over these with buttons, menus, or whatever mechanisms are appropriate for the device. 34

35 Command Listener Pattern The CommandListener interface is used by applications which need to receive high-level events from the implementation. An application will provide an implementation of a CommandListener and will then provide the instance to the addcommand method on a Displayable in order to receive high-level events on that screen. Command 0-* Displayable 0-1 CommandListener addcommand() removecommand() setcommandlistener() commandaction() 35

36 Command Registration Command yes = new Command("Yes", Command.OK, 0); Command no = new Command("No", Command.BACK, 0); Displayable warning = new WarningMessage(... warning.addcommand(yes); warning.addcommand(no); warning.setcommandlistener(this); Display display = Display.getDisplay(this); display.setcurrent(warning); 36

37 Listener The application-level handling of commands is based on a listener model. Each Displayable object has a single listener. public class TeaTime extends MIDlet implements CommandListener { private Command yes, no; } public void commandaction(command c, Displayable d) { if (c == yes) { // Delete the tea from list.... } else if (c == no) { // Do nothing. } } 37

38 Menu Abstract commands that cannot be mapped onto physical buttons are placed in a menu and the label "Menu" is mapped onto one of the programmable buttons. cancel = new Command("Cancel", Command.BACK, 0); edit = new Command("Edit", Command.ITEM, 1); create = new Command("Create New", Command.ITEM, 1); delete = new Command("Delete", Command.ITEM, 1); 38

39 ItemState Listener The ItemStateListener interface is used by applications which need to receive high-level events that indicate changes in the internal state of the interactive items within a Form screen. An application will provide an implementation of a ItemStateListener method itemstatechanged() and register the listener for a given form by calling the method setitemstatelistener(listener); The method processes following events, connected with user interaction: Selection changes in the ChoiceGroups Adjustments of the Gauges Editation of the TextFields Date and Time changes in the DateFields 39

Mobile Information Device Profile (MIDP) Alessandro Cogliati. Helsinki University of Technology Telecommunications Software and Multimedia Laboratory

Mobile Information Device Profile (MIDP) Alessandro Cogliati. Helsinki University of Technology Telecommunications Software and Multimedia Laboratory Multimedia T-111.5350 Mobile Information Device Profile (MIDP) Alessandro Cogliati Helsinki University of Technology Telecommunications Software and Multimedia Laboratory 1 Outline Java Overview (Editions/Configurations/Profiles)

More information

Mensch-Maschine-Interaktion 2

Mensch-Maschine-Interaktion 2 Mensch-Maschine-Interaktion 2 Übung 5 (12./14./15. Juni 2007) Arnd Vitzthum - arnd.vitzthum@ifi.lmu.de Amalienstr. 17, Raum 501 Dominic Bremer - bremer@cip.ifi.lmu.de Java ME Overview (I) Java ME slim

More information

Mobile Application Development. J2ME - Forms

Mobile Application Development. J2ME - Forms Mobile Application Development J2ME - Forms Dr. Christelle Scharff cscharff@pace.edu Pace University, USA http://mobilesenegal.com Objectives Understand and manipulate: Display Displayable Command Form

More information

BVRIT HYDERABAD College of Engineering for Women Department of Information Technology. Hand Out

BVRIT HYDERABAD College of Engineering for Women Department of Information Technology. Hand Out BVRIT HYDERABAD College of Engineering for Women Department of Information Technology Hand Out Subject Name: Mobile Application Development Prepared by: 1. S. Rama Devi, Assistant Professor, IT Year and

More information

Acknowledgments Introduction p. 1 The Wireless Internet Revolution p. 1 Why Java Technology for Wireless Devices? p. 2 A Bit of History p.

Acknowledgments Introduction p. 1 The Wireless Internet Revolution p. 1 Why Java Technology for Wireless Devices? p. 2 A Bit of History p. Figures p. xiii Foreword p. xv Preface p. xvii Acknowledgments p. xxi Introduction p. 1 The Wireless Internet Revolution p. 1 Why Java Technology for Wireless Devices? p. 2 A Bit of History p. 3 J2ME Standardization

More information

Objects. Phone. Programming. Mobile DAY 3 J2ME. Module 2. In real world: object is your car, your bicycle, your cat.. Object has state and behavior

Objects. Phone. Programming. Mobile DAY 3 J2ME. Module 2. In real world: object is your car, your bicycle, your cat.. Object has state and behavior DAY 3 J2ME Mobile Phone Programming Module 2 J2ME DAY 3 in aj2me nutshell Objects In real world: object is your car, your bicycle, your cat.. Object has state and behavior State: variables (car: color,

More information

J2ME crash course. Harald Holone

J2ME crash course. Harald Holone J2ME crash course Harald Holone 2006-01-24 Abstract This article gives a short, hands-on introduction to programming J2ME applications on the MIDP 2.0 platform. Basic concepts, such as configurations,

More information

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming DAY 3 J2ME Mobile Phone Programming Module 2 Micro (J2ME) Overview Introduction J2ME architecture Introduction 1 J2ME Key Factors Portability: Write once run anywhere Security: Code runs within the confines

More information

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course?

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course? Who am I? Wireless Online Game Development for Mobile Device Lo Chi Wing, Peter Lesson 1 Email: Peter@Peter-Lo.com I123-1-A@Peter Lo 2007 1 I123-1-A@Peter Lo 2007 2 Are you take the right course? This

More information

Mobile Phone Programming

Mobile Phone Programming Mobile Phone Programming Free Study Activity Day 3 Part 2 J2ME in a nutshell J2ME in a nutshell Objects In real world: object is your car, your bicycle, your cat.. Object has state and behavior State:

More information

Mobile Devices in Software Engineering. Lab 2

Mobile Devices in Software Engineering. Lab 2 Mobile Devices in Software Engineering Lab 2 Objective The objective of this lab is to: 1. Get you started with network based mobile applications 2. Get you started with persistent storage on mobile devices

More information

JUGAT meeting. Roman Waitz Development. MATERNA Information & Communications

JUGAT meeting. Roman Waitz Development. MATERNA Information & Communications JUGAT meeting Roman Waitz Development MATERNA Information & Communications 22/04/2002 Agenda +What the J2ME Platform is +How to build and deploy J2MEbased wireless applications +J2ME programming techniques

More information

Mobile Devices in Software Engineering. Lab 3

Mobile Devices in Software Engineering. Lab 3 Mobile Devices in Software Engineering Lab 3 Objective The objective of this lab is to: 1. Test various GUI components on your device 2. Continue to develop application on mobile devices Experiment 1 In

More information

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA Mobile Application Development Introduction Dr. Christelle Scharff cscharff@pace.edu Pace University, USA Objectives Getting an overview of the mobile phone market, its possibilities and weaknesses Providing

More information

Chapter 13 Add Multimedia to Your MIDlets

Chapter 13 Add Multimedia to Your MIDlets Chapter 13 Add Multimedia to Your MIDlets The Mobile Media API (MMAPI), which extends the functions of Java 2 Platform, Micro Edition (J2ME), allows easy and simple access and control of basic audio and

More information

Programming Wireless Devices with the Java 2 Platform, Micro Edition

Programming Wireless Devices with the Java 2 Platform, Micro Edition Programming Wireless Devices with the Java 2 Platform, Micro Edition J2ME Connected Limited Device Configuration (CLDC) Mobile Information Device Profile (MIDP) Roger Riggs Antero Taivalsaari Mark VandenBrink

More information

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming DAY 3 J2ME Mobile Phone Programming Java 2 Micro Edition (J2ME) Overview Introduction J2ME architecture MIDlets Application development Introduction J2ME Key Factors Portability: Write once run anywhere

More information

CHAPTER 7 THE RECORD MANAGEMENT SYSTEM

CHAPTER 7 THE RECORD MANAGEMENT SYSTEM CHAPTER 7 THE RECORD MANAGEMENT SYSTEM OBJECTIVES After completing The Record Management System, you will be able to: Explain the unique challenges involved in persistent storage for wireless applications,

More information

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

PASS4TEST. IT Certification Guaranteed, The Easy Way!  We offer free update service for one year PASS4TEST IT Certification Guaranteed, The Easy Way! \ We offer free update service for one year Exam : 310-110 Title : Sun Certified Mobile Application Developer for J2ME. v1.0 Vendors : SUN Version :

More information

Exam : : Sun Certified Mobile Application Developer for J2ME. v1.0. Title. Version : DEMO

Exam : : Sun Certified Mobile Application Developer for J2ME. v1.0. Title. Version : DEMO Exam : 310-110 Title : Sun Certified Mobile Application Developer for J2ME. v1.0 Version : DEMO 1.During a MIDlet suite installation, a JTWI-compliant device performs the following actions: downloads and

More information

Developing Mobile Applications

Developing Mobile Applications Developing Mobile Applications J2ME Java 2 Micro Edition 1 Virtual machines portable apps virtual machine native apps operating system hardware 2 Java - important issues Symbolic language not a random

More information

Faculty of Computer Science and Information Systems Jazan University MOBILE COMPUTING (CNET 426) LAB MANUAL (MOBILE APPLICATION DEVELOPMENT LAB)

Faculty of Computer Science and Information Systems Jazan University MOBILE COMPUTING (CNET 426) LAB MANUAL (MOBILE APPLICATION DEVELOPMENT LAB) Faculty of Computer Science and Information Systems Jazan University MOBILE COMPUTING (CNET 426) LAB MANUAL (MOBILE APPLICATION DEVELOPMENT LAB) (Updated February 2017) Revised and Updated By: Dr SHAMS

More information

SUN. Sun Certified Mobile Application Developer for the Java 2 Platform, Micro Edition, Version 1.0

SUN. Sun Certified Mobile Application Developer for the Java 2 Platform, Micro Edition, Version 1.0 SUN 310-110 Sun Certified Mobile Application Developer for the Java 2 Platform, Micro Edition, Version 1.0 Download Full Version : https://killexams.com/pass4sure/exam-detail/310-110 QUESTION: 332 Given:

More information

Lab Exercise 4. Please follow the instruction in Workshop Note 4 to complete this exercise.

Lab Exercise 4. Please follow the instruction in Workshop Note 4 to complete this exercise. Lab Exercise 4 Please follow the instruction in Workshop Note 4 to complete this exercise. 1. Turn on your computer and startup Windows XP (English version), download and install J2ME Wireless Toolkit

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad - 500 043 INFORMATIONTECHOGY TUTORIAL QUESTION BANK ACADEMIC YEAR - 2018-19 Course Title Mobile Application Development Course Code

More information

Accessing DB2 Everyplace using J2ME devices, part 1

Accessing DB2 Everyplace using J2ME devices, part 1 Accessing DB2 Everyplace using J2ME devices, part 1 Skill Level: Intermediate Naveen Balani (naveenbalani@rediffmail.com) Developer 08 Apr 2004 This two-part tutorial assists developers in developing DB2

More information

ST.MARTIN'S ENGINEERING COLLEGE Dhulapally,Secunderabad-014

ST.MARTIN'S ENGINEERING COLLEGE Dhulapally,Secunderabad-014 ST.MARTIN'S ENGINEERING COLLEGE Dhulapally,Secunderabad-014 INFORMATION TECHNOLOGY TUTORIAL QUESTION BANK Course Title Course Code Regulation Course Structure Team of Instructors Mobile Application Development

More information

Sortware Comprehension and Μaintenance

Sortware Comprehension and Μaintenance Department of Management and Technology Sortware Comprehension and Μaintenance Wireless IRC project Design of a new feature Wireless Irc s Design Presentation Brief explanation of Midlet Suites function

More information

List. The constructor of List : List(String title, int listtype) List(String title, int listtype, String[] stringelements, Image[] imageelements)

List. The constructor of List : List(String title, int listtype) List(String title, int listtype, String[] stringelements, Image[] imageelements) List List is a screen contains a set of choices the user can use any one of it. There are three types of List : IMPLICIT, EXCLUSIVE, MULTIPLE we learned it in ChoiceGroup lecture List The constructor of

More information

CHADALAWADA RAMANAMMA ENGINEERING COLLEGE

CHADALAWADA RAMANAMMA ENGINEERING COLLEGE 1 MOBILE APPLICATION DEVELOPMENT LABORATORY MANUAL Subject Code : 9F00506 Regulations : JNTUA R09 Class : V Semester (MCA) CHADALAWADA RAMANAMMA ENGINEERING COLLEGE (AUTONOMOUS) Chadalawada Nagar, Renigunta

More information

GUIDELINES FOR GAME DEVELOPERS USING NOKIA JAVA MIDP DEVICES Version Nov 02

GUIDELINES FOR GAME DEVELOPERS USING NOKIA JAVA MIDP DEVICES Version Nov 02 GUIDELINES FOR GAME DEVELOPERS USING NOKIA JAVA MIDP DEVICES 07 Nov 02 Table of Contents 1. INTRODUCTION...3 1.1 PURPOSE...3 1.2 REFERENCES...4 2. GAME GUIDELINES...5 2.1 USE OF GAME ACTIONS...5 2.2 NOTES

More information

The network connection

The network connection C H A P T E R 1 3 The network connection 13.1 About the Generic Connection Framework 366 13.2 Using the Generic Connection Framework 372 13.3 HTTP-based connections 372 13.4 Socket-based connections 377

More information

Mobile application development J2ME U N I T I

Mobile application development J2ME U N I T I Mobile application development J2ME U N I T I Mobile Application Development Prepared By : Ms. G Chaitanya Assistant Professor Information Technology Overview Introduction of Mobile Technology What is

More information

CHAPTER 18 MIDLETS JAVA PROGRAMS FOR MOBILE DEVICES

CHAPTER 18 MIDLETS JAVA PROGRAMS FOR MOBILE DEVICES Although this document is written so that it slightly resembles a chapter of a book, this does not belong to my Java book A Natural Introduction to Computer Programming in Java. This document is additional

More information

Actual4Test. Actual4test - actual test exam dumps-pass for IT exams

Actual4Test.  Actual4test - actual test exam dumps-pass for IT exams Actual4Test Actual4test - actual test exam dumps-pass for IT exams Exam : 1Z0-869 Title : Java Mobile Edition 1 Mobile Application Developer Certified Professional Exam Vendors : Oracle Version : DEMO

More information

JAVA. Java Micro Edition

JAVA. Java Micro Edition JAVA Java Micro Edition Overview predecessors Personal Java (1997) Embedded Java (1998) JME definition via JCP JCP Java Community Process JME is not a single SW package a set of technologies and specifications

More information

CS434/534: Topics in Networked (Networking) Systems

CS434/534: Topics in Networked (Networking) Systems CS434/534: Topics in Networked (Networking) Systems WSN/Mobile Systems Yang (Richard) Yang Computer Science Department Yale University 208A Watson Email: yry@cs.yale.edu http://zoo.cs.yale.edu/classes/cs434/

More information

NOKIA 12 GSM MODULE JAVA TM IMLET PROGRAMMING GUIDE. Copyright Nokia. All rights reserved. Issue

NOKIA 12 GSM MODULE JAVA TM IMLET PROGRAMMING GUIDE. Copyright Nokia. All rights reserved. Issue NOKIA 12 GSM MODULE JAVA TM IMLET PROGRAMMING GUIDE Copyright 2004-2005 Nokia. All rights reserved. Issue 1.1 9231715 Contents ACRONYMS AND TERMS...1 1. ABOUT THIS DOCUMENT...4 2. INTRODUCTION...6 3. NOKIA

More information

مريم سعد جعفر رانيا عبد السجاد علي سامي سمادير عبد العباس ياسمين عبد االمير

مريم سعد جعفر رانيا عبد السجاد علي سامي سمادير عبد العباس ياسمين عبد االمير مريم سعد جعفر رانيا عبد السجاد علي سامي سمادير عبد العباس ياسمين عبد االمير 1 Introduction of J2ME Introduction of Mobile Technology The goals Mobile Technology Connecting people Information sharing Internet

More information

Outline-session 9 (09-April-2009)

Outline-session 9 (09-April-2009) Outline-session 9 (09-April-2009) >> J2ME Record Management System -Introduction -RMS -Record Store -Record Store-MIDlet -Record Store Scope -Record Store Two attribute -Record Store API -Record Enumeration

More information

Another class in the Form arsenal of Items is ChoiceGroup.

Another class in the Form arsenal of Items is ChoiceGroup. Another class in the Form arsenal of Items is ChoiceGroup. ChoiceGroup offers a list of choices, the user can choose one or more of these options according to the type of ChoiceGroup we will detect it

More information

J2ME With Database Connection Program

J2ME With Database Connection Program J2ME With Database Connection Program Midlet Code: /* * To change this template, choose Tools Templates * and open the template in the editor. package hello; import java.io.*; import java.util.*; import

More information

What have we learnt last week? Wireless Online Game Development for Mobile Device Lesson 7 Generic Connection Framework Generic Connection Framework

What have we learnt last week? Wireless Online Game Development for Mobile Device Lesson 7 Generic Connection Framework Generic Connection Framework What have we learnt last week? Wireless Online Game Development for Mobile Device Lesson 7 Introduction to MMAPI Play Audio files (Wav and Midi format) Play MPEG movie from Internet Design and play your

More information

What have we learnt last week? Wireless Online Game Development for Mobile Device. Introduction to Thread. What is Thread?

What have we learnt last week? Wireless Online Game Development for Mobile Device. Introduction to Thread. What is Thread? What have we learnt last week? Wireless Online Game Development for Mobile Device Lesson 5 Introduction to Low-level API Display Image in Canvas Configure color, line style, font style for Drawing Drawing

More information

Writing Java Applications for Mobile Information Devices

Writing Java Applications for Mobile Information Devices Writing Java Applications for Mobile Information Devices James E. Osbourn RiverPoint Group LLC josbourn@riverpoint.com James E. Osbourn Writing Java Applications for Mobile Information Devices Page 1 You...

More information

WildingMcBride.book Page 229 Monday, May 19, :15 AM. Index

WildingMcBride.book Page 229 Monday, May 19, :15 AM. Index WildingMcBride.book Page 229 Monday, May 19, 2003 9:15 AM Index A Abstract Window Toolkit. See AWT (Abstract Window Toolkit) actionperformed method, HttpNetworking class, 141 Active state MIDlets, 7 Xlets,

More information

Programming mobile devices with J2ME

Programming mobile devices with J2ME Claude Fuhrer Bern University of Applied Sciences School of Engineering and Information Technology October 2010 1 Introduction The Connected Limited Device Configuration Part I Introduction Introduction

More information

DVB-HTML MIDP 2.0 Graphics Architectures for Non-Desktop Devices

DVB-HTML MIDP 2.0 Graphics Architectures for Non-Desktop Devices DVB-HTML MIDP 2.0 Graphics Architectures for Non-Desktop Devices Pablo Cesar pcesar@tml.hut.fi http://www.tml.hut.fi/~pcesar Part I DVB-HTML Part II MIDP 2.0 Part III Outline Graphics Systems in Embedded

More information

3.3.4 Connection Framework

3.3.4 Connection Framework 108 MIDP 2.0 AND THE JTWI 3.3.4 Connection Framework 3.3.4.1 What s Optional and What s Not The CLDC provides a Generic Connection Framework (GCF), which is an extensible framework that can be customized

More information

Oracle Exam 1z0-869 Java Mobile Edition 1 Mobile Application Developer Certified Professional Exam Version: 6.0 [ Total Questions: 340 ]

Oracle Exam 1z0-869 Java Mobile Edition 1 Mobile Application Developer Certified Professional Exam Version: 6.0 [ Total Questions: 340 ] s@lm@n Oracle Exam 1z0-869 Java Mobile Edition 1 Mobile Application Developer Certified Professional Exam Version: 6.0 [ Total Questions: 340 ] Topic 1, Volume A Question No : 1 - (Topic 1) How would a

More information

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java)

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java) Software Development & Education Center Java Platform, Micro Edition (Mobile Java) Detailed Curriculum UNIT 1: Introduction Understanding J2ME Configurations Connected Device Configuration Connected, Limited

More information

Praktikum Mobile Productivity

Praktikum Mobile Productivity LFE Medieninformatik Albrecht Schmidt, Alexander De Luca, Gregor Broll Praktikum Mobile Productivity Introduction 10/17/2006 Outline Outline: Basic Information Organizational Stuff Technology SVN Java

More information

Tutorial. Interactive Forms Integration into Web Dynpro for Java Topic: Working with the PdfObject API

Tutorial. Interactive Forms Integration into Web Dynpro for Java Topic: Working with the PdfObject API Tutorial Interactive Forms Integration into Web Dynpro for Java Topic: Working with the PdfObject API At the conclusion of this tutorial, you will be able to: Generate PDF forms and fill them with XML

More information

Mobile Messaging Using Bangla

Mobile Messaging Using Bangla 1 Mobile Messaging Using Bangla Tofazzal Rownok ID# 01101040 Department of Computer Science and Engineering December 2005 BRAC University, Dhaka, Bangladesh 2 DECLARATION I hereby declare that this thesis

More information

Java 2 Micro Edition Server socket and SMS

Java 2 Micro Edition Server socket and SMS Java 2 Micro Edition Server socket and SMS F. Ricci Content Other Connection Types Responding to Incoming Connections Security Permissions Security domains Midlet signing Wireless Messaging Responding

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

Radical GUI Makeover with Ajax Mashup

Radical GUI Makeover with Ajax Mashup Radical GUI Makeover with Ajax Mashup Terrence Barr Senior Technologist and Community Ambassador Java Mobile & Embedded Community TS-5733 Learn how to turn a 'plain old' Java Platform, Micro Edition (Java

More information

ROEVER ENGINEERING COLLEGE Elambalur,Perambalur DEPARTMENT OF CSE

ROEVER ENGINEERING COLLEGE Elambalur,Perambalur DEPARTMENT OF CSE ROEVER ENGINEERING COLLEGE Elambalur,Perambalur-621212 DEPARTMENT OF CSE 2 marks questions with answers CS331-ADVANCED JAVA PROGRAMMING 1. What is Java Streaming? Java streaming is nothing more than a

More information

DoD Mobile Client- A Comparison between J2ME and Symbian Platforms

DoD Mobile Client- A Comparison between J2ME and Symbian Platforms DoD Mobile Client- A Comparison between J2ME and Symbian Platforms Sanjay Rajwani KTH Information and Communication Technology Master of Science Thesis Stockholm, Sweden 2012 DoD Mobile Client A Comparison

More information

University of Osnabrueck

University of Osnabrueck University of Osnabrueck Google maps on mobile devices with J2ME Li Wang Supervisor: Prof. Dr. Oliver Vornberger Prof. Dr. Helmar Gust Department of Cognitive Science University of Osnabrueck 07. 27. 2006

More information

CMSC 132: Object-Oriented Programming II

CMSC 132: Object-Oriented Programming II CMSC 132: Object-Oriented Programming II Java Support for OOP Department of Computer Science University of Maryland, College Park Object Oriented Programming (OOP) OO Principles Abstraction Encapsulation

More information

MOTOROKR E6/E6e Java ME Developer Guide. Version 02.00

MOTOROKR E6/E6e Java ME Developer Guide. Version 02.00 MOTOROKR E6/E6e Version 02.00 Copyright 2007, Motorola, Inc. All rights reserved. This documentation may be printed and copied solely for use in developing products for Motorola products. In addition,

More information

... 2...3 1...6 1.1...6 1.2... 10 1.3... 16 2...20 2.1... 20 2.2...28... 33... 35... 40...45...49....53 2 ,,.,,., ё.[37],.,. [14] «-». [19] - (..,..,..,..,..,..,..,..,....) (.,.,.,...). -..,..,... [19].

More information

Wireless Java Technology

Wireless Java Technology Wireless Java Technology Pao-Ann Hsiung National Chung Cheng University Ref: http://developers.sun.com/techtopics/mobility/learning/tutorial/ 1 Contents Overview of Java 2 Platform Overview of J2ME Scope

More information

Nutiteq Maps SDK tutorial for Java ME (J2ME)

Nutiteq Maps SDK tutorial for Java ME (J2ME) Nutiteq Maps SDK tutorial for Java ME (J2ME) Version 1.1.1 (updated 29.08.2011) 2008-2011 Nutiteq LLC Nutiteq LLC www.nutiteq.com Skype: nutiteq support@nutiteq.com Page2 1 Contents 2 Introduction... 3

More information

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Introduction History, Characteristics of Java language Java Language Basics Data types, Variables, Operators and Expressions Anatomy of a Java Program

More information

7. Concurrency. Motivation Infrastructure Faking concurrency Mobile Java implementation Symbian OS implementation. Maemo implementation Summary

7. Concurrency. Motivation Infrastructure Faking concurrency Mobile Java implementation Symbian OS implementation. Maemo implementation Summary 7. Concurrency Motivation Infrastructure Faking concurrency Mobile Java implementation Symbian OS implementation Threads Active objects Maemo implementation Summary 1 Motivation Mobile devices are fundamentally

More information

Compaq Interview Questions And Answers

Compaq Interview Questions And Answers Part A: Q1. What are the difference between java and C++? Java adopts byte code whereas C++ does not C++ supports destructor whereas java does not support. Multiple inheritance possible in C++ but not

More information

Master Project. Push To Chat. Realized by. The Quang Nguyen. Supervisor. Professor Jean-Yves Le Boudec (EPFL, LCA) Assistant

Master Project. Push To Chat. Realized by. The Quang Nguyen. Supervisor. Professor Jean-Yves Le Boudec (EPFL, LCA) Assistant Master Project Push To Chat Realized by The Quang Nguyen Supervisor Professor Jean-Yves Le Boudec (EPFL, LCA) Assistant Alaeddine El Fawal (EPFL, LCA) Ecole Polytechnique Fédérale de Lausanne (EPFL) Winter

More information

M301: Software Systems & their Development. Unit 4: Inheritance, Composition and Polymorphism

M301: Software Systems & their Development. Unit 4: Inheritance, Composition and Polymorphism Block 1: Introduction to Java Unit 4: Inheritance, Composition and Polymorphism Aims of the unit: Study and use the Java mechanisms that support reuse, in particular, inheritance and composition; Analyze

More information

CS-140 Fall 2017 Test 1 Version Practice Practice for Nov. 20, Name:

CS-140 Fall 2017 Test 1 Version Practice Practice for Nov. 20, Name: CS-140 Fall 2017 Test 1 Version Practice Practice for Nov. 20, 2017 Name: 1. (10 points) For the following, Check T if the statement is true, the F if the statement is false. (a) T F : If a child overrides

More information

Developing mobile UI

Developing mobile UI Vorlesung Advanced Topics in HCI (Mensch-Maschine-Interaktion 2) Ludwig-Maximilians-Universität München LFE Medieninformatik Albrecht Schmidt & Andreas Butz WS2003/2004 http://www.medien.informatik.uni-muenchen.de/

More information

2. Introducing Classes

2. Introducing Classes 1 2. Introducing Classes Class is a basis of OOP languages. It is a logical construct which defines shape and nature of an object. Entire Java is built upon classes. 2.1 Class Fundamentals Class can be

More information

2. The object-oriented paradigm

2. The object-oriented paradigm 2. The object-oriented paradigm Plan for this section: Look at things we have to be able to do with a programming language Look at Java and how it is done there Note: I will make a lot of use of the fact

More information

B2.52-R3: INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING THROUGH JAVA

B2.52-R3: INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING THROUGH JAVA B2.52-R3: INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING THROUGH JAVA NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE

More information

Introduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview

Introduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview Introduction to Visual Basic and Visual C++ Introduction to Java Lesson 13 Overview I154-1-A A @ Peter Lo 2010 1 I154-1-A A @ Peter Lo 2010 2 Overview JDK Editions Before you can write and run the simple

More information

M257 Past Paper Oct 2007 Attempted Solution

M257 Past Paper Oct 2007 Attempted Solution M257 Past Paper Oct 2007 Attempted Solution Part 1 Question 1 The compilation process translates the source code of a Java program into bytecode, which is an intermediate language. The Java interpreter

More information

Chapter 6 Introduction to Defining Classes

Chapter 6 Introduction to Defining Classes Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of

More information

WebSphere MQ Telemetry Java Classes Version 1.1

WebSphere MQ Telemetry Java Classes Version 1.1 WebSphere MQ Telemetry Java Classes Version 1.1 15 May, 2003 SupportPac author Ian Harwood Jonathan Woodford ian_harwood@uk.ibm.com jonathanw@uk.ibm.com Property of IBM ii Take Note! Before using this

More information

Designing Robust Classes

Designing Robust Classes Designing Robust Classes Learning Goals You must be able to:! specify a robust data abstraction! implement a robust class! design robust software! use Java exceptions Specifications and Implementations

More information

What remains? Median in linear time, randomized algorithms (Monte Carlo, Las Vegas), other programming languages.

What remains? Median in linear time, randomized algorithms (Monte Carlo, Las Vegas), other programming languages. What remains? Median in linear time, randomized algorithms (Monte Carlo, Las Vegas), other programming languages. Median in linear time in fact not just median If we wanted the algorithm finding only median,

More information

Lab Exercise 7. Please follow the instruction in Workshop Note 7 to complete this exercise.

Lab Exercise 7. Please follow the instruction in Workshop Note 7 to complete this exercise. Lab Exercise 7 Please follow the instruction in Workshop Note 7 to complete this exercise. 1. Turn on your computer and startup Windows XP (English version), download and install J2ME Wireless Toolkit

More information

Senior Software Engineering Project CSSP Project CEN April 5, Adam Cox Tass Oscar

Senior Software Engineering Project CSSP Project CEN April 5, Adam Cox Tass Oscar Senior Software Engineering Project CSSP Project CEN 4935 April 5, 2006 Adam Cox Tass Oscar 1. Introduction One of the ways in which social worker professionals and students evaluate their clients is with

More information

IP Phone Services Configuration

IP Phone Services Configuration CHAPTER 75 This chapter describes how to configure IP phone services. The chapter covers the following topics: IP Phone Service Configuration Settings, page 75-1 IP Phone Service Parameter Settings, page

More information

Creating a Java ME Embedded Project That Uses GPIO

Creating a Java ME Embedded Project That Uses GPIO Raspberry Pi HOL. Note: IP: 10.0.0.37 User: pi Password: raspberry Part I Creating a Java ME Embedded Project That Uses GPIO In this section, you create a project by using NetBeans and you test it locally

More information

I pledge by honor that I will not discuss this exam with anyone until my instructor reviews the exam in the class.

I pledge by honor that I will not discuss this exam with anyone until my instructor reviews the exam in the class. Name: Covers Chapters 1-3 50 mins CSCI 1301 Introduction to Programming Armstrong Atlantic State University Instructor: Dr. Y. Daniel Liang I pledge by honor that I will not discuss this exam with anyone

More information

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1 CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Winter 2008 3/11/2008 2002-08 Hal Perkins & UW CSE V-1 Agenda Java virtual machine architecture.class files Class loading Execution engines

More information

In this lab we will practice creating, throwing and handling exceptions.

In this lab we will practice creating, throwing and handling exceptions. Lab 5 Exceptions Exceptions indicate that a program has encountered an unforeseen problem. While some problems place programmers at fault (for example, using an index that is outside the boundaries of

More information

PTViewerME: Immersive Panoramas for PDA and Smartphone

PTViewerME: Immersive Panoramas for PDA and Smartphone PTViewerME: Immersive Panoramas for PDA and Smartphone Helmut Dersch FH Furtwangen der@fh-furtwangen.de May 20, 2004 Abstract We have ported PTViewer, a Java-based spherical panorama viewer, to J2ME, Sun

More information

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introducing Object Oriented Programming... 2 Explaining OOP concepts... 2 Objects...3

More information

High-Level Language VMs

High-Level Language VMs High-Level Language VMs Outline Motivation What is the need for HLL VMs? How are these different from System or Process VMs? Approach to HLL VMs Evolutionary history Pascal P-code Object oriented HLL VMs

More information

public static void negate2(list<integer> t)

public static void negate2(list<integer> t) See the 2 APIs attached at the end of this worksheet. 1. Methods: Javadoc Complete the Javadoc comments for the following two methods from the API: (a) / @param @param @param @return @pre. / public static

More information

Java Card 3 Platform. Peter Allenbach Sun Microsystems, Inc.

Java Card 3 Platform. Peter Allenbach Sun Microsystems, Inc. Java Card 3 Platform Peter Allenbach Sun Microsystems, Inc. Agenda From plastic to Java Card 3.0 Things to know about Java Card 3.0 Introducing Java Card 3.0 Java Card 3.0 vs. Java SE Java Card 3.0 vs.

More information

PASS4TEST IT 인증시험덤프전문사이트

PASS4TEST IT 인증시험덤프전문사이트 PASS4TEST IT 인증시험덤프전문사이트 http://www.pass4test.net 일년동안무료업데이트 Exam : 1z0-809 Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z0-809 Exam's Question and Answers 1 from

More information

PROGRAMMING FUNDAMENTALS

PROGRAMMING FUNDAMENTALS PROGRAMMING FUNDAMENTALS Q1. Name any two Object Oriented Programming languages? Q2. Why is java called a platform independent language? Q3. Elaborate the java Compilation process. Q4. Why do we write

More information

The University of Melbourne Department of Computer Science and Software Engineering Software Design Semester 2, 2003

The University of Melbourne Department of Computer Science and Software Engineering Software Design Semester 2, 2003 The University of Melbourne Department of Computer Science and Software Engineering 433-254 Software Design Semester 2, 2003 Answers for Tutorial 7 Week 8 1. What are exceptions and how are they handled

More information

Computer Science E-119 Fall Problem Set 1. Due before lecture on Wednesday, September 26

Computer Science E-119 Fall Problem Set 1. Due before lecture on Wednesday, September 26 Due before lecture on Wednesday, September 26 Getting Started Before starting this assignment, make sure that you have completed Problem Set 0, which can be found on the assignments page of the course

More information

Testing Documentation

Testing Documentation Testing Documentation Create-A-Page Group 9: John Campbell, Matthew Currier, Dan Martin 5/1/2009 This document defines the methods for testing Create-A-Page, as well as the results of those tests and the

More information

Pointers II. Class 31

Pointers II. Class 31 Pointers II Class 31 Compile Time all of the variables we have seen so far have been declared at compile time they are written into the program code you can see by looking at the program how many variables

More information

Object Oriented Modeling

Object Oriented Modeling Object Oriented Modeling Object oriented modeling is a method that models the characteristics of real or abstract objects from application domain using classes and objects. Objects Software objects are

More information