Getting Started - Developing mobile application with MIDP

MIDP stands for Mobile Information Device Profile .It is part of the Java Platform, Micro Edition (Java ME) framework and sits on top of Connected Limited Device Configuration, a set of lower level programming interfaces. Mobile applications can be developed in Java with MIDP and CLDC.

To quote the official specs page- "The Mobile Information Device Profile (MIDP) is a key element of the Java 2 Platform, Mobile Edition (J2ME). When combined with the Connected Limited Device Configuration (CLDC), MIDP provides a standard Java runtime environment for today's most popular mobile information devices, such as cell phones and mainstream personal digital assistants (PDAs).

CLDC and MIDP provide the core application functionality required by mobile applications, in the form of a standardized Java runtime environment and a rich set of Java APIs. Developers using MIDP can write applications once, then deploy them quickly to a wide variety of mobile information devices. MIDP has been widely adopted as the platform of choice for mobile applications. It is deployed globally on millions of phones and PDAs, and is supported by leading integrated development environments (IDEs)."

Currently two specification of MIDP exists, MIDP 1.0 and MIDP 2.0 with MIDP 3.0 scheduled to be out soon. If you already know a bit of Java (preferably J2ME), then you might find developing application using MIDP easier than you thought.

Tools and Resources you need. (You don't need to download all of these tools. Though I have listed all the common tools used by the developers here, depending on your target platform and other requirements you may need to download only one or two tools. ) Sun Java Wireless Toolkit The Sun Java Wireless Toolkit is a state-of-the-art toolbox for developing wireless applications that are based on J2ME's Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (MIDP), and designed to run on cell phones, mainstream personal digital assistants, and other small mobile devices. The toolkit includes the emulation environments, performance optimization and tuning features, documentation, and examples that developers need to bring efficient and successful wireless applications to market quickly.

Download it here http://java.sun.com/products/sjwtoolkit/

Nokia Tools & SDKs Nokia provides a range of tools that help Java developers create Java applications for Nokia platforms and devices. http://www.forum.nokia.com/main/resources/tools_and_sdks/listings/java_tools.html

Sony Ericsson Java ME Platform Docs & Tools http://developer.sonyericsson.com/site/global/docstools/java/p_java.jsp

Motorola Tools and SDKs for Java development http://developer.motorola.com/docstools/sdks/

MOTODEV Studio for Java ME MOTODEV Studio for Java ME provides application developers with a powerful set of APIs, tools, and documentation all pre-integrated and packaged with the highly popular Eclipse platform. A standalone version of MOTODEV Studio for Java ME - MOTODEV SDK for Java ME, designed to be used with IDEs such as NetBeans and JBuilder - is also available.

Both versions of the MOTODEV Studio can be downloaded from the above link.

IDEs NetBeans is a leading open-source Java IDE supported by Sun. http://www.netbeans.org/

Eclipse IDE is a well known Java IDE. EclipseME is an Eclipse plugin to help develop J2ME MIDlets.

Download it here Eclipse IDE http://www.eclipse.org/ EclipseME http://www.eclipseme.org/

Source code / Examples

The Hello world Example In case you are still clueless about things take a look at these Hello World examples to get a clear picture.

Hello World at Sony Ericsson http://developer.sonyericsson.com/site/global/techsupport/tipstrickscode/java/p_howcreatejavamidlethelloworld.jsp

Hello World at Nokia http://www.forum.nokia.com/document/Java_ME_Developers_Library_v2/index.html?content=GUID-96007FB3-7203-4F2E-97D9-5DC687B0064B.html

MIDP 2.0 Games: a Step-by-Step Tutorial with Code Samples http://www.microjava.com/articles/techtalk/midp2_games

Various tutorials across several topics at Palo Wireless http://www.palowireless.com/java/tutorials.asp

Collection MIDP 2.0 Examples at javafaq.nu http://www.javafaq.nu/java-example-code-collections-30.html

Guide/Tutorials

Nokia Java development getting started guide A compilation of guides which introduces you to developing java application of Nokia mobiles. http://www.forum.nokia.com/main/resources/technologies/java/documentation/getting_started.html

Motorola developer Guide http://developer.motorola.com/docstools/developerguides/

Java 2ME and MIDP Development http://www.onjava.com/pub/a/onjava/2001/03/22/j2me_wireless.html

What is Java 2 Micro Edition? http://www.developer.com/ws/j2me/article.php/1378921

Excellent J2ME tutorial in four parts- Part 1: Creating MIDlets http://today.java.net/pub/a/today/2005/02/09/j2me1.html Part 2: User Interfaces with MIDP 2.0 http://today.java.net/pub/a/today/2005/05/03/midletUI.html Part 3: Exploring the Game API of MIDP 2.0 http://today.java.net/pub/a/today/2005/07/07/j2me3.html Part 4: Multimedia and MIDP 2.0 http://today.java.net/pub/a/today/2005/09/27/j2me4.html

A Brief Look at Java 2 Micro Edition http://www.wirelessdevnet.com/channels/java/features/j2me.html

Introduction to the J2ME Platform http://www.microjava.com/articles/techtalk/piroumian

J2ME in a Nutshell: The MIDP and MIDlets http://www.onjava.com/pub/a/onjava/excerpt/j2menut_3/index1.html

Creating MIDlets http://today.java.net/pub/a/today/2005/02/09/j2me1.html User Interfaces with MIDP 2.0 http://today.java.net/pub/a/today/2005/05/03/midletUI.html

Developers Forum Sony Ericsson Developers Forum http://developer.sonyericsson.com/category.jspa?categoryID=2

Nokia Developers Forum http://discussion.forum.nokia.com/forum/index.php

Sun J2me Developer Forums http://forum.java.sun.com/forum.jspa?forumID=76

Microjava http://www.microjava.com/discussions

J2ME MIDP Forum http://tech.groups.yahoo.com/group/midp/

JGurue J2ME Forum http://www.jguru.com/forums/J2ME