MIDP 2.0 version issues: $method is undefined for $type

Posted by Kilnr on Stack Overflow See other posts from Stack Overflow or by Kilnr
Published on 2010-03-10T09:34:06Z Indexed on 2010/03/12 1:37 UTC
Read the original article Hit count: 384

Filed under:
|
|
|

Hi,

I've written a MIDlet that does several "advanced" things: fetching images from the web, resizing them, saving them on the phone, displaying them.

This all works perfectly in the Nokia S60 3rd Edition FP1 emulator. This device has MIDP 2.0 and CLDC 1.1 support (also JSR75, which I need in order to save files). It also works as it should on the Nokia E71 (physical device).

I then tried to run the MIDlet on several other emulators. One of them, the DefaultCldcJtwiPhone2 from the Java ME SDK 3.0, also claims MIDP 2.0 and CLDC 1.1 support. It doesn't have JSR75, which explains why "FileConnection can not be resolved to a type".

This does not, however, explain why List.deleteAll(), String.equalsIgnoreCase(String) and a few others are undefined.

The actual errors that I get:

  • The method ceil(double) is undefined for the type Math
  • The method deleteAll() is undefined for the type List
  • The method equalsIgnoreCase(String) is undefined for the type String
  • The method getWidth() is undefined for the type Displayable

When I look at the MIDP 2.0 (i.e. JSR118) API (http://java.sun.com/javame/reference/apis/jsr118/), I can clearly see all of these methods being present, with the "since" tag being either MIDP 2.0 or CLDC 1.1.

My question: why doesn't an emulator with MIDP 2.0 support have access to all MIDP 2.0 methods? Or alternatively, what am I doing wrong?

© Stack Overflow or respective owner

Related posts about j2me

Related posts about midlet