Making Cell Phone Games An Overview Ray Ratelis Guild Software, Inc.

Slides:



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

05/07/2008kbele/cs5251 Study of Tools & Utilities in Mobile Application By Kunal Bele.
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.
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.
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.
Introduction to Java 2 Micro Edition Mark Balbes, Ph.D. Senior Software Engineer Jeff Brown Senior Software Engineer.
The Android Development Environment.  Getting started on the Android Platform  Installing required libraries  Programming Android using the Eclipse.
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.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
J2ME for Palm Speaker: Chen-Nien Tsai Adviser: Kai-Wei Ke.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Introduction to Mobility Java Technology Mobile and Wireless Networks.
Android: Hello World Frank Xu Gannon University. Steps Configuration ▫Android SDK ▫Android Development Tools (ADT)  Eclipse plug-in ▫Android SDK and.
Developing Software for Wireless Devices
11 Web Services Dr. Miguel A. Labrador Department of Computer Science & Engineering
PDA Programming Using J2ME Presenter :涂俊凱 Date : 2003/4/8.
Mobile Application Development
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.
Java Platform, Micro Edition (J2ME)
Java 2 Platform, Micro Edition (J2ME) By Xiaorong Wang.
SM3121 Software Technology Mark Green School of Creative Media.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
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.
An Introduction to the Java ME Project Jens A Andersson.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 12 Using the KToolbar Rob Pooley
Platforms and tools for Web Services and Mobile Applications J2ME based Applications Bent Thomsen Aalborg University 3rd and 4th of June 2004.
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
J2ME: M3G/11 Intro to J2ME. Prog. v Objectives: –to introduce M3G; –to start talking about "M3G Chapter 2. An Animated Model" u leave the floor,
Week II Platforms and Engines. Overview Platforms and Engines Tools and SDKs Netbeans Game Development Walkthrough
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
Mobile Applications and Java ME
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.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 12 lcdui Rob Pooley
Martin Schmidt / The Silent Revolution Mobile Java.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 13 lcdui and OXO Rob Pooley
Android architecture & setting up. Android operating system comprises of different software components arranges in stack. Different components of android.
Other Popular Java Technologies Internationalization in Java Graphics Programming in Java Security Programming in Java Collections and Data Structures.
Wireless Java Possibilities, Services, Limitations, and Competitors.Wireless Java.
Java 2 Platform, Micro Edition (J2ME)
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.
Testing, Debugging, and Deploying a Mobile App Lesson 8.
Enhanced mobile services in Java enabled phones Björn Hjelt Sonera zed ltd Supervisor: Professor Jorma Jormakka.
Understanding Mobile Devices, Interactions, and Tools Lesson 1.
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 Gaming Your Name Sun Campus Ambassador Your Address.
The Java Platform Micro Edition Java ME
ET-570 Smart Phone Apps.
Java N Amanquah.
Jickler Presented To: Core Presented By: Baiju Chandran T
Wireless Instant Messaging Using J2ME
By Jeff Heaton An Overview of J2ME By Jeff Heaton
Java for Mobile Devices
Presentation transcript:

Making Cell Phone Games An Overview Ray Ratelis Guild Software, Inc.

Platforms BREWiPhoneJ2ME

Java 2 Micro Edition Configuration CLDC-1.0 (JSR30) CLDC-1.0 (JSR30) CLDC-1.1 (JSR139) CLDC-1.1 (JSR139)Profile MIDP-1.0 (JSR37) MIDP-1.0 (JSR37) MIDP-2.0 (JSR118) MIDP-2.0 (JSR118)

JSR? JSR is Java Specification Request. It is similar to RFC in the internet world.

Connected Limited Device Configuration Defines a base set of APIs and VM features that are required for the J2ME runtime. Slightly limited subset of J2SE APIs. Some Java features such as reflection are limited or not present.

CLDC 1.0 No floating point No weak references Minimum total memory requirement of 160k

CLDC 1.1 Added floating point support and weak references Minimum total memory requirement raised to 192k

Mobile Information Device Profile Defines an additional set of APIs that support a narrower category of devices Networking APIs (http, https, sockets) Networking APIs (http, https, sockets) Lcdui API (Canvas, input events, rendering, images [png, jpg]) Lcdui API (Canvas, input events, rendering, images [png, jpg]) Game API (sprites, layers, tile grids, sprite collision detection) Game API (sprites, layers, tile grids, sprite collision detection) Media API (wav, au, mp3, midi, tone sequences) Media API (wav, au, mp3, midi, tone sequences)

MIDP 2.0 vs. 1.0 Game API Media API Authentication API

Optional Packages Bluetooth API SMS and SMM messaging API Others No guarantee they exist. I don’t yet know what happens when a MIDlet tries to use an API that doesn’t exist on the device.

MIDlets Applications written using the MIDP profile are called MIDlets. Defacto standard for downloadable cell phone games written in Java.

SDKs Java ME SDK 3.0 Sample apps Sample apps IDE IDE Emulator Emulator Java SE Dev Kit 1.6 or higher Java Runtime Environment Java Runtime Environment Java ME API Documentation Available on Sun’s website

Installation First install Java SE Dev Kit Then install Java ME SDK Run the SDK IDE Add new Java Platform Tools -> Java Platform -> Add Platform… Tools -> Java Platform -> Add Platform… Select Java ME MIDP Platform Emulator Select Java ME MIDP Platform Emulator Then choose the Java ME Platform SDK that was just installed. I think this sets up the emulator. Then choose the Java ME Platform SDK that was just installed. I think this sets up the emulator.

Programming Main application must subclass the MIDlet class. public class HelloMIDlet extends MIDlet public class HelloMIDlet extends MIDlet Implement startApp(), pauseApp(), destroyApp() Implement startApp(), pauseApp(), destroyApp() Usually creates a canvas and game thread and listens for commands Usually creates a canvas and game thread and listens for commands

Programming Create a canvas Subclass either Canvas or GameCanvas class Subclass either Canvas or GameCanvas class public class TheCanvas extends GameCanvas public class TheCanvas extends GameCanvas Implement paint(), keyPressed(), keyReleased() Implement paint(), keyPressed(), keyReleased() Must be set as the active canvas to the MIDlet display Must be set as the active canvas to the MIDlet displayDisplay.getDisplay(midlet).setCurrent(canvas)

Programming Create a game thread public class GameThread implements Runnable public class GameThread implements Runnable Implement run() Implement run() This is where the main game loop can reside This is where the main game loop can resideInput()Process()Render()Sleep()

Programming Optionally create a command listener public class cmdListener implements CommandListener public class cmdListener implements CommandListener Used to receive command events Used to receive command events Commands are created and added to the Canvas Commands are created and added to the Canvas CommandListener is added to the Canvas CommandListener is added to the Canvas canvasobject.setCommandListener(cmdlistenerobj ect)

Programming Commands show up as the menu along the bottom of the display exitCommand = new Command(“Exit”, Command.EXIT, 0) exitCommand = new Command(“Exit”, Command.EXIT, 0) canvasobject.addCommand(exitCommand) canvasobject.addCommand(exitCommand)

Run The J2ME SDK comes with an emulator that emulates a series of different mobile devices Touch phones Touch phones Clamshell phones Clamshell phones Much faster than an actual phone

Distribution.JAR Java ARchive Java ARchive Main app file, contains all code and resources Main app file, contains all code and resources.JAD Java Application Descriptor Java Application Descriptor Describes what configuration and profile needs to be supported by the device, the name and icon to show in the App menu, vendor, version, path to.JAR, size of.JAR Describes what configuration and profile needs to be supported by the device, the name and icon to show in the App menu, vendor, version, path to.JAR, size of.JAR

Distribution Put both files onto a web site.JAR.JAR mime type: application/java-archive.JAD.JAD mime type: text/vnd.sun.j2me.app-descriptor Browse to the.JAD file using the cell phone’s browser and it will ask if you want to install it

Distribution If available, use cell phone maker’s App Installer to install over USB or Bluetooth Not every phone has this capability (mine doesn’t as far as I can find) Not every phone has this capability (mine doesn’t as far as I can find) or otherwise send the files to your cell phone (I have no idea if this works)

Questions? Comments?