8-January-2003cse403-02-ProjectOverview © 2003 University of Washington1 Project Overview CSE 403, Winter 2003 Software Engineering

Slides:



Advertisements
Similar presentations
MIDP Mobile Information Device Profile Johnny Yau CIS 642 Prof. Insup Lee.
Advertisements

Introduction of J2ME Mobile solutions. Overview What is J2ME. How does J2ME work? Java J2ME Carriers and Products. The Two Configuration of J2ME. Profiles.
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.
Quality Assurance and Testing of J2ME Programs for Mobiles Phones.
Discovering Computers: Chapter 1
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.
TC2-Computer Literacy Mr. Sencer February 4, 2010.
Prepared By E.Musa Alyaman1 Chapter 2 The Java Overview.
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.
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
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.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Java 2 Platform, Micro Edition (J2ME) By Xiaorong Wang.
SM3121 Software Technology Mark Green School of Creative Media.
Installing software on personal computer
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.
Standard 1 - Objective 2: Understand, evaluate, and use computer software.
LESSON 1 INTRODUCTION Compiled By: Edwin O. Okech [Tutor, Amoud University] JAVA PROGRAMMING.
Introduction to Android Platform Overview
Understanding and Managing WebSphere V5
Linux Operations and Administration
Android Introduction Platform Overview.
EclipseME Java Micro Edition The Eclipse Way Craig Setera April 19, 2006.
Microsoft Office Communicator A General Introduction.
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
Introduction To Computer System
6-January-2003cse Introduction © 2003 University of Washington1 Introduction CSE 403, Winter 2003 Software Engineering
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
Framework and application bytecode size CLDC MIDP kXML parser Utility classes Graphics Logic (MIDlet) Application Data (XML file)
5th GridLab Review, 8 April 2005, Amsterdam WP12: Access for mobile users What's new in mobile user support Piotr Grabowski, Bartek Lewandowski
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Computer Science Wi-Fi App using J2ME and MVC Architecture Advisor : Dr. Chung-E Wang Department of Computer Science Sacramento State University Date:
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
J2ME Presented by May Sayed & Menna Hawash. Outline Introduction “Java Technology” Introduction “What is J2ME?” J2ME Architecture J2ME Core Concepts 
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
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.
© Paradigm Publishing Inc © Paradigm Publishing Inc. 1-2 Chapter 1 Our Digital World.
Teachers Discovering Computers Integrating Technology and Digital Media in the Classroom 5 th Edition Let’s Review Lesson 2! Who Wants to Be a Computer.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Java – in context Main Features From Sun Microsystems ‘White Paper’
1 Introduction to J2ME Outline MIDP Building J2ME Apps- Tool J2ME Wireless Toolkit Demo MIDlet Programming -- MIDlet Transition States -- Midlet Skeleton.
Mobile Programming Mobile Programming - Ordibehesht Ordibehesht 1390.
DISCOVERING COMPUTERS Chapter 3 : Application Software.
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.
Object Oriented Programming in
Java N Amanquah.
BlackBerry Application Development
MOBILE DEVICE OPERATING SYSTEM
Wireless Instant Messaging Using J2ME
CMPE419 Mobile Application Development
By Jeff Heaton An Overview of J2ME By Jeff Heaton
Objectives Overview Explain why computer literacy is vital to success in today's world Describe the five components of a computer Discuss the advantages.
OPERATING SYSTEMS.
*.
Chapter 1 Our Digital World. Chapter 1 Our Digital World.
CMPE419 Mobile Application Development
Presentation transcript:

8-January-2003cse ProjectOverview © 2003 University of Washington1 Project Overview CSE 403, Winter 2003 Software Engineering

8-January-2003cse ProjectOverview © 2003 University of Washington2 Readings and References References »What will people pay for? Dan Bricklin. »Accessing a whole new world via multimedia phones. Dan Gillmor. »J2ME Data Sheet from Sun »Wireless Toolkit User Guide from Sun Links to all of these are on the "otherlinks" web page

8-January-2003cse ProjectOverview © 2003 University of Washington3 Initial project motivation Dan Bricklin: What will people pay for? »"You keep reading stories about how cellphones will be used for checking stock quotes and making trades, buying stuff, and other eCommerce. It seems business plans are based on people paying for such stuff. I think that eCommerce is not where things will go." »"People like to interact with people they care about. The interactions are often simple, but personally important. They are willing to pay money for this."

8-January-2003cse ProjectOverview © 2003 University of Washington4 Opportunity The cell phone / mobile industry is in the state that the PC industry was in years ago »nobody knows what the killer apps will be, although simple messaging (aka ) is big »there is still a relatively competitive environment with multiple operating systems and suppliers »the existing players are not necessarily the ones who will dominate or have the big ideas »the technology opens a wide range of new possibilities that have never existed before

8-January-2003cse ProjectOverview © 2003 University of Washington5 mobile means personal Mobile devices are small, portable, and personal Business support »contact list, daily calendar, sales support Personal interest »ringtones, games »personal information management »connectivity web sites, text messaging (SMS), image messaging (MMS) always-on information access is very nice! Google...

8-January-2003cse ProjectOverview © 2003 University of Washington6 Connectivity Cell networks are growing in speed Data types are already a rich environment and the phones are rapidly growing more capable »larger color screens »sound capture and playback »video capture and playback Wireless Connectivity »all media at all times in all places

8-January-2003cse ProjectOverview © 2003 University of Washington7 Our project domain We will focus on mobile clients talking to simple servers over http links Lifescrape, the application »server can reach out and grab information from any network aware source according to user setup »servlet packages the information in concise form for transmission to/from cell phone upon request »custom client midlet on the cell phone manages interaction with the user: commands and display

8-January-2003cse ProjectOverview © 2003 University of Washington8 What sort of information? Anything you want to know that can somehow be manipulated by a network aware application »online game events and status, virtual agents »transportation events (next bus, commute time) »friends on-line (AIM, Unix finger) »device state/control (laundry machine status, coke machine, coffee maker, room occupied?) »video/audio snapshots (burning man snaps, sports,...) Where is all this ultimately heading? »Gillmor: Ask a teenager. She'll be first to figure it out.

8-January-2003cse ProjectOverview © 2003 University of Washington9 Architecture bubbles Lifescrape server servlet other server hardware doodad Lifescrape client

Software Components diagram is from network extra tiers for enterprise apps that we probably won't need

8-January-2003cse ProjectOverview © 2003 University of Washington11 Java editions - huge to tiny

8-January-2003cse ProjectOverview © 2003 University of Washington12 J2ME terminology J2ME architecture »configurations, profiles, and optional packages Configuration is a virtual machine and a minimal set of class libraries »Connected Limited Device Configuration (CLDC) Profiles define the application life cycle model, user interface, device interface »Mobile Information Device Profile (MIDP) Optional packages add features »Mobile Media API (MMAPI)

8-January-2003cse ProjectOverview © 2003 University of Washington13 Java 2 MicroEdition (J2ME) packages javax.microedition.lcdui.* control screen display and listen for user commands javax.microedition.rms.* manage simple record oriented data storage javax.microedition.midlet.* manage midlet life cycle javax.microedition.io.* manage connections

8-January-2003cse ProjectOverview © 2003 University of Washington14 Smaller class libraries than J2SE The class libraries in J2ME are much smaller than they are in J2SE (the standard desktop edition of Java) Devices are small in memory and horsepower »fewer classes reduces footprint significantly Display is limited »no overlapping windows, one application at a time API documentation is located in Wireless Toolkit installation directory

8-January-2003cse ProjectOverview © 2003 University of Washington15 J2ME development tools Primary tool is Wireless Toolkit It's a little bit simplified, but it provides the ability to compile, verify, and package midlets »uses J2SE compiler to compile sources »special system class libraries for J2ME »preverify and package midlet and update jad file User manual included in the installation »read it over to get an introduction to the process

8-January-2003cse ProjectOverview © 2003 University of Washington16 run WTK with KToolBar or Ant KToolBar is a minimal development environment for developing MIDlet suites. »From the KToolBar, you can: Create a new project or open an existing one Build, run, and debug your MIDlet Package your project files Modify the attributes of your MIDlet suite Ant is a general purpose build tool like make »you can run WTK emulators from Ant »you can run Ant from jEdit

8-January-2003cse ProjectOverview © 2003 University of Washington17 WTK Open Project By default, the J2ME Wireless Toolkit stores MIDP applications in directories under {j2mewtk.dir }\app s Ant can run the projects from anywhere.

8-January-2003cse ProjectOverview © 2003 University of Washington18 Write once, run in a bunch of places

8-January-2003cse ProjectOverview © 2003 University of Washington19 sample ant build file >ant -buildfile build403.xml -projecthelp Buildfile: build403.xml This Ant buildfile is used to build a Java midlet to run on a MIDP device (eg, a cell phone). The tasks assume that the Wireless Toolkit has been installed and that the WTK directory is defined in the wtk.home property. Also, the name of the directory that this build file is in is used as the value of midlet.name for this midlet suite. The tasks assume that the directory structure is../midlet.name/ build.xml bin/ classes/ doc/ res/ src/../zips

8-January-2003cse ProjectOverview © 2003 University of Washington20 ant clean and build C:\home\finson\cse403\dev\hw403-solutions\HW1>ant -buildfile build403.xml clean Buildfile: build403.xml init: clean: [delete] Deleting 16 files from C:\home\finson\cse403\dev\hw403-solutions\HW1\classes BUILD SUCCESSFUL Total time: 5 seconds C:\home\finson\cse403\dev\hw403-solutions\HW1>ant -buildfile build403.xml build Buildfile: build403.xml init: build: [wtkbuild] Compiling 13 source files to C:\home\finson\cse403\dev\hw403- solutions\HW1\classes [wtkpackage] New version is 1.9 [wtkpackage] Building jar: C:\home\finson\cse403\dev\hw403-solutions\HW1\bin\HW1.jar [wtkpackage] Preverifying C:\home\finson\cse403\dev\hw403-solutions\HW1\bin\HW1.jar [wtkpackage] Updating JAD file C:\home\finson\cse403\dev\hw403-solutions\HW1\bin\HW1.jad BUILD SUCCESSFUL Total time: 14 seconds C:\home\finson\cse403\dev\hw403-solutions\HW1>

8-January-2003cse ProjectOverview © 2003 University of Washington21 ant run C:\home\finson\cse403\dev\hw403-solutions\HW1>ant -buildfile build403.xml run Buildfile: build403.xml init: run: [wtkrun] Running C:\home\finson\cse403\dev\hw403-solutions\HW1\bin\HW1.jad in Motorola_i85s [wtkrun] Execution completed successfully [wtkrun] bytecodes executed [wtkrun] 7 thread switches [wtkrun] 319 classes in the system (including system classes) [wtkrun] 811 dynamic objects allocated (28148 bytes) [wtkrun] 4 garbage collections (15520 bytes collected) [wtkrun] Total heap size bytes (currently bytes free) BUILD SUCCESSFUL Total time: 25 seconds C:\home\finson\cse403\dev\hw403-solutions\HW1>