How to Build, Run, and Develop Code With the phoneme Open Source Project Stuart Marks Hinkmond Wong Sun Microsystems, Inc.

Similar documents
phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr

Building a Java ME Test Suite in 15 Minutes

LAB-6340: Advanced Java ME Programming - Streaming Video From Server to Your Device

Minne menet, Mobiili-Java?

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

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

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level

Petr Suchomel Architect, NetBeans Mobility

Code Examples Using Java ME Technology and New Web 2.0 Services (Beyond Google Maps)

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

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

Federated Web Services with Mobile Devices

Developing Mobile Applications

Java Technology-Based VAS in China Mobile: Today and Tomorrow

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

Developing Android applications in Windows

Using Aspect-Oriented Programming to Streamline Mobile Application Development

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

Building Java with Plex Services for Eclipse

NASA World Wind Java SDK

Reach the Next Billion with Engaging Apps: Full Developers

Radical GUI Makeover with Ajax Mashup

If you don t have the JDK, you will need to install it. 1. Go to

Project Overview. Readings and References. Initial project motivation. Opportunity. References. CSE 403, Winter 2003 Software Engineering

Developing Games for J2ME Technology- Enabled Mobile Devices

Java Embedded 2013 Update

Java Technology Goes to the Movies: Java Technology in Next- Generation Optical Disc Formats

LIGHTWEIGHT UI TOOLKIT MAKING COMPELLING JAVA ME APPLICATIONS EASY

Introduction To NetBeans 5.5

GlassFish V3. Jerome Dochez. Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net. Session ID YOUR LOGO HERE

Making Java /.Net Technology- Based Web Services Interoperability Real

Bluetooth Scatternet Application. Sun Code for Freedom

Creating Professional Swing UIs Using the NetBeans GUI Builder

Java Technology for the Mobile Mass Market

GWT and jmaki: Expanding the GWT Universe. Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems

Rails powered by GlassFish & jmaki

Wireless Java Technology

Reliable and Transacted Web Services Between Sun s Project Tango and Microsoft Indigo

GlassFish Project Web Services Stack Metro : Easy to Use, Robust, and High-Performance

THE JAVA ECOSYSTEM Platform for Web & Mobile Games

OpenESB Keh-Yoe Ong FAST (Field Assistance Support Team)

Java 2 Platform, Micro Edition

Apache OFBiz: Real-World Open Source Java Platform ERP

Class 1: Homework. Intro to Computer Science CSCI-UA.0101 New York University Courant Institute of Mathematical Sciences Fall 2017

Subversion Repository Layout

Deploying Java Platform, Standard Edition (Java SE Platform) in Today s Embedded Devices

Twelve Reasons To Use NetBeans Software Episode 2

Project Overview. CSE 403, Spring 2003 Software Engineering.

Project Overview. Readings and References. Opportunity. Initial project motivation. References. CSE 403, Spring 2003 Software Engineering

Takes 2 to Tango: Java Web Services and.net Interoperability

MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices

Oracle Java Micro Edition Software Development Kit

Java ME Directions. JCP F2F - Austin. Florian Tournier - Oracle May 9, Copyright 2017, Oracle and/or its affiliates. All rights reserved.

Checking Out and Building Felix with NetBeans

SECTION 2: HW3 Setup.

Writing a Sony PlayStation Emulator Using Java Technology

Making The Future Java

AUTOMATED HEAPDUMP ANALYSIS FOR DEVELOPERS, TESTERS, AND SUPPORT EMPLOYEES

Team Up: Contributing to the Tizen Platform. Narasimha Swamy Sanjay NM

API Tooling in the Eclipse SDK

Java Management Extensions (JMX ) Technology: Who s Doing What

Test Patterns in Java

Development tools: Version control, build tools, and integrated development environments 1

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES

Composable Web Services Using Interoperable Technologies From Sun s Project Tango

What's New In Mobile & Embedded Java? A Technology Update

M E R C U R I A L (The Source Control Management)

NetBeans Platform in 5.0:

Adding Telephony to Java Technology-Based Enterprise Applications

Yocto Overview. Dexuan Cui Intel Corporation

Version Control. Kyungbaek Kim. Chonnam National University School of Electronics and Computer Engineering. Original slides from James Brucker

JSR 311: JAX-RS: The Java API for RESTful Web Services

Emulating the Java ME Platform on Java SE

Streaming with Project Capuchin for Adobe Flash Lite developers

ChamberMaster/MemberZone Solution Overview April 13, 2018

David Dylegowski CS 188/297 Final Project Report SocialDialer

ELET4133: Embedded Systems. Topic 3 Eclipse Tour & Building a First App

How NikeiD Hurdled the Java Technology and Flash Barrier

Web 2.0: Next Generation Communities With Rich Java -Based Applications

12/7/09. How is a programming language processed? Picasso Design. Collaborating with Subversion Discussion of Preparation Analyses.

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

Bytecode Manipulation Techniques for Dynamic Applications for the Java Virtual Machine

Setting up Java environment for Project Capuchin development with Sony Ericsson phones

Java TM Platform Micro Edition Software Development Kit

The age of orchestration

Blackfin Online Learning & Development

JCP Training: General Session. 5 May 2008 JavaOne - San Francisco Harold Ogle

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How!

Swinging from the Outside

MemoryLint. Petr Nejedlý, Radim Kubacki SUN Microsystems, BOF-9066

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

Sun Java Studio Creator. Ken Paulsen Staff Engineer Sun Microsystems, Incorporated (Slides by: Craig R. McClanahan)

New Compiler Optimizations in the Java HotSpot Virtual Machine

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

An Integrated Approach to Managing Windchill Customizations. Todd Baltes Lead PLM Technical Architect SRAM

Colin Turfus, Symbian Developer Network. Developer essentials for Symbian OS

RASP Library for Java Version 2.0.0

TCSS 360: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE

Series 40 6th Edition SDK, Feature Pack 1 Installation Guide

Transcription:

How to Build, Run, and Develop Code With the phoneme Open Source Project Stuart Marks Hinkmond Wong Sun Microsystems, Inc. http://phoneme.dev.java.net TS-5712 2007 JavaOne SM Conference Session TS-5712

Goal of This Talk Learn how to customize and build the premier open source Java Platform, Micro Edition (Java ME platform) implementation and use it to develop and debug your mobile applications 2007 JavaOne SM Conference Session TS-5712 2

Updated Slides https://phoneme.dev.java.net/files/documents/ 2007 JavaOne SM Conference Session TS-5712 3

Agenda Overview of phoneme software Source Code at Java.Net Building and Running Developing Apps for phoneme Feature software Developing Apps for phoneme Advanced software Developing the Platform 2007 JavaOne SM Conference Session TS-5712 4

Overview of phoneme Project The open source implementation of Java ME platform Hosted in Subversion on java.net https://phoneme.dev.java.net/source/browse/phoneme/ Part of the Mobile and Embedded Community www.mobileandembedded.org Other projects part of the M&E Community cqme software ME Application Developer Java.net includes email lists, forums, wikis, etc 2007 JavaOne SM Conference Session TS-5712 5

Overview of phoneme Software phoneme Advanced software Advanced phones and consumer devices (Ref: Linux/x86) Contents: CDC/Foundation/Personal Basis/Personal Profiles CDC stack Java Specification Request (JSRs): 135 (MMAPI) and 172 (Web Serv) phoneme Feature software Mass-market feature phones (Ref: Linux/x86) Contents: CLDC/Mobile Information Device Profile CLDC stack JSRs: 120 (WMA), 135 (MMAPI), 172 (Web Serv), 177 (SATSA), JSR 211 (CHAPI), JSR 239 (OpenGL ES) 2007 JavaOne SM Conference Session TS-5712 6

phoneme Software Source Code License GPL version 2 http://www.gnu.org/copyleft/gpl.html GPL Questions Refer to yesterday s Business Track presentations Dual Licensed with Commercial License Enables proprietary use Compatible w/non-gpl licenses Hinkmond and Stuart are not lawyers. This slide is not intended as legal advice or representation. 2007 JavaOne SM Conference Session TS-5712 7

Agenda Overview of phoneme software Source Code at Java.Net Building and Running Developing Apps for phoneme Feature software Developing Apps for phoneme Advanced software Developing the Platform 2007 JavaOne SM Conference Session TS-5712 8

Source Code at Java.Net Snapshots available as source code bundles https://phoneme.dev.java.net/downloads_page.html Source code can be retrieved from svn repository Use an svn client to access https://phoneme.dev.java.net/svn/phoneme Atypical repository structure Don t just grab the whole thing We have lots of branches, tags, and supertags You ll get about 100 copies of the source code 2007 JavaOne SM Conference Session TS-5712 9

Repository Layout Top Level ROOT trunk releases builds components legal www These areas contain tagged versions of the components All the source code is under here! This area contains only the website! GPL, copyrights, etc. 2007 JavaOne SM Conference Session TS-5712 10

Repository Layout Components components cdc... jsr120 midp jsr135... cldc phoneme Advanced software phoneme Feature software 2007 JavaOne SM Conference Session TS-5712 11

Repository Layout Each Component components cdc... midp... cldc b t t branches tags trunk b t t 2007 JavaOne SM Conference Session TS-5712 12

Agenda Overview of phoneme software Source Code at Java.Net Building and Running Developing Apps for phoneme Feature software Developing Apps for phoneme Advanced software Developing the Platform 2007 JavaOne SM Conference Session TS-5712 13

Building and Running Download Using svn co command Check out the needed components (See Getting Started Guides below) Build (Tools Required): make gcc ant 1.6.5 Getting Started Guides: https://phoneme.dev.java.net/content/mr2/index_feature.html https://phoneme.dev.java.net/content/phoneme_advanced_r2.html 2007 JavaOne SM Conference Session TS-5712 14

Building and Running pmef Getting Started Guide: https://phoneme.dev.java.net/content/index_feature.html Follow Getting Started Guide: Running using the VM Develop your MIDlet Run using the phoneme VM ME Application Developer Project: (more how-to info here) http://meapplicationdevelopers.dev.java.net 2007 JavaOne SM Conference Session TS-5712 15

Building and Running pmea svn co https://phoneme.dev.java.net/svn/phoneme/components/midp/trunk midp svn co https://phoneme.dev.java.net/svn/phoneme/components/tools/trunk tools cd cdc/build/linux-x86-generic make J2ME_CLASSLIB=foundation 2007 JavaOne SM Conference Session TS-5712 16

DEMO Building and running phoneme Feature software phoneme Advanced software 2007 JavaOne SM Conference Session TS-5712 17

Agenda Overview of phoneme software Source Code at Java.Net Building and Running Developing Apps for phoneme Feature software Developing Apps for phoneme Advanced software Developing the Platform 2007 JavaOne SM Conference Session TS-5712 18

Developing Apps for phoneme Software Feature Developing a MIDlet See: http://www.netbeans.org/kb/trails/mobility.html Develop MIDlet normally with WTK or NetBeans software Using pmef in WTK or NetBeans software Makes MIDlet more portable and robust Emulator Usage pmef from command line pmef as integrated emulator More info http://meapplicationdevelopers.dev.java.net/ 2007 JavaOne SM Conference Session TS-5712 19

DEMO Developing App for phoneme Feature software 2007 JavaOne SM Conference Session TS-5712 20

Agenda Overview of phoneme software Source Code at Java.Net Building and Running Developing Apps for phoneme Feature software Developing Apps for phoneme Advanced software Developing the Platform 2007 JavaOne SM Conference Session TS-5712 21

Developing Apps for phoneme Advanced Software Developing an Xlet Using javac and the btclasses.zip with basis.jar Xlet lifecycle Simple HelloWorld 2007 JavaOne SM Conference Session TS-5712 22

Developing App for phoneme Advanced Software Building: javac -source 1.4 -target 1.4 *.java -classpath btclasses.zip:basis.jar Running: bin/cvm com.sun.xlet.xletrunner -name basis.demoxlet - path democlasses.jar 2007 JavaOne SM Conference Session TS-5712 23

Developing App for phoneme Advanced Software import javax.microedition.xlet.*;... public class HelloWorldXlet extends Xlet {... public void initxlet() { // Initialize the Xlet } public void destroyxlet() { } public void startxlet() { // Start the Xlet } public void pausexlet() { } 2007 JavaOne SM Conference Session TS-5712 24

DEMO Developing App for phoneme Advanced Software 2007 JavaOne SM Conference Session TS-5712 25

Agenda Overview of phoneme software Source Code at Java.Net Building and Running Developing Apps for phoneme Feature software Developing Apps for phoneme Advanced software Developing the Platform 2007 JavaOne SM Conference Session TS-5712 26

Developing the Platform Example: Generic Connection Framework javax.microedition.i o Connector com.sun.midp.io.j2me. * Protocol com.sun.cdc.io.j2me. * Protocol 2007 JavaOne SM Conference Session TS-5712 27

Developing the Platform Generic Connection Framework Plug-in Architecture for Connections (I/O) How to add your own protocols Example Addition Protocol for upcase: javax.microedition.io.connector sun/cldc/io/j2me/upcase/protocol.java Differences in CDC sun/cdc/io/j2me/upcase/protocol.java 2007 JavaOne SM Conference Session TS-5712 28

Developing the Platform Example Addition upcase in pmef: Add: midp/src/protocol/upcase/classes/com/sun/midp/io/j2me/ upcase/protocol.java Building Build from command line 2007 JavaOne SM Conference Session TS-5712 29

Developing the Platform Example Addition upcase in pmea: Add: src/share/classes/com/sun/cdc/io/j2me/upcase/protocol.java build/share/defs_cdc.mk CVM_BUILDTIME_CLASSES += \ com.sun.cdc.io.j2me.upcase.protocol Building Build from a command line: cd build/linux-x86-generic make 2007 JavaOne SM Conference Session TS-5712 30

DEMO Example upcase GCF addition 2007 JavaOne SM Conference Session TS-5712 31

Q&A Stuart Marks Hinkmond Wong Sun Microsystems, Inc. 2007 JavaOne SM Conference Session TS-5712 32

Get Involved in phoneme Project! Contribute and Participate: https://phoneme.dev.java.net Forums: http://forums.java.net/jive/category.jspa?categoryid=56 2007 JavaOne SM Conference Session TS-5712 33

How to Build, Run, and Develop Code with the phoneme Open Source Project Stuart Marks Hinkmond Wong Sun Microsystems, Inc. http://phoneme.dev.java.net TS-5712 2007 JavaOne SM Conference Session TS-5712