Showing posts with label j2me. Show all posts
Showing posts with label j2me. Show all posts

Monday, 21 July 2008

Creating a J2ME app with EclipseME and Sony Ericsson SDK

I wanted to try out creating a little J2ME application which could be deployed onto my Sony Ericsson K850i phone. Sony do provide an SDK, and there seems to be a lot of documentation on their developer site , but there wasn't much in the way of a "Hello World" example.

So this is my example of creating a J2ME application using the EclipseME plugin.
This example should work on similar Sony Ericsson phones.


Prerequisites

You need to have the following installed before doing anything else:
First you need to download and install the Sony Ericsson SDK 2.5.0.2 for the Java(TM) ME Platform . Install it in the default location which should be "C:\SonyEricsson\JavaME_SDK_CLDC\". Keep a note of this location

Next you will need to install the EclipseME plugin to Eclipse
  1. Follow the install instructions from here.
  2. After you have restarted Eclipse ,you will need to configure EclipseME with Eclipse. Follow the instructions from here and in step 4 use the location you noted down above(i.e. C:\SonyEricsson\JavaME_SDK_CLDC\)
Now you can create a new J2ME Midlet Project. Follow the instructions from here to do this.

Now create a new Midlet class following the instructions from here and replace the template code with this:

package com.randomconsultant.test;

import java.util.Date;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Display;

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class MyMidlet extends MIDlet {

Alert timeAlert;

public MyMidlet() {
timeAlert = new Alert("Alert!");
timeAlert.setString(new Date().toString());

}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub

}

protected void pauseApp() {
// TODO Auto-generated method stub

}

protected void startApp() throws MIDletStateChangeException {
Display.getDisplay(this).setCurrent(timeAlert);


}

}

Now you can run in debug mode in the phones emulator

You should see the date pop up for a moment in the emulator.

Now that we know we have a working app, we can try deploying it onto our phone. You have to create a package that will create a jad and jar file:


The jad and jar file will be dropped into the deployed folder within your project.

Now connect your phone via the usb cable or using bluetooth and copy the jad and jar file to somewhere on your phone.

Disconnect your phone from your pc, and open file manager on your phone ( Menu > Organizer > File Manager on my K850i) and select the jad file you copied over. Click on it and it will ask you where you would like to install the jad file (i.e. in applications or games).

Now your application can be selected from which ever menu you added it to (applications or games) and you will be able to run it!

For all my source code you can download it from here.

Leave a comment if you can't get this working or need a hand.