Entra

View Full Version : [J2ME] Java su cellulare Nokia con symbian (N70)


Naufr4g0
29-09-2007, 07:42
Salve a tutti,
qualche mese fa ho cominciato a programmare un piccolo giochino in java (j2me) per cellulari.
Ho utilizzato come interfaccia di sviluppo il Netbeans 5.5, insieme al Mobility Pack 5.5.
Il gioco sul mio vecchio LG 8130 funzionava benissimo dopo l'upload. Sull' N70 invece mi si installa, ma non mi si avvia.
Naturalmente il gioco funziona benissimo anche sull'emulatore del Mobility Pack.
Per caso qualche sviluppatore j2me ha avuto un problema analogo al mio?
Devo modificare qualche file del pacchetto jar?

Spero possiate darmi qualche suggerimento

Grazie in anticipo
Davide

P.S. Ho aggiunto uno screenshot, magari catturo meglio la vostra attenzione. :)

P.P.S. Ho poi aggiunto anche la "demo" del giochino. L'ho compilato con le Nokia SDK non so se funge anche sui non-Nokia

Naufr4g0
01-10-2007, 00:59
La programmazione dei cellulari non appassiona nessuno? :/

cionci
01-10-2007, 09:19
Bello ;)

Comunque non ti so dire. Non ho messo applicazioni J2ME su Nokia. Hai usato qualche JSR esterno al CLDC ?

Cosa succeda all'applicazione ? Parte e poi si chiude da sola ?
In tal caso mi sembra una eccezione. Prova a catturare l'eccezione nel main ed a fare una schermata in cui la stampi prima della chiusura del programma.

Naufr4g0
01-10-2007, 19:22
Il fatto è che il gioco funziona quando utilizzo su netbeans come piattaforma (emulatore) quella della wireless toolkit della sun.
Quando utilizzo l'emulatore proprietario della nokia (S60 2nd FP3 MIDP SDK), questo manco si apre, anzi si apre e si chiude subito senza dare errori.

Nell'output del netbeans mi spunta:

Starting emulator in execution mode
Emulator command: D:\Series60\Devices\S60_2nd_FP3_MIDP_SDK\bin\Epoc32\release\winscw\udeb\systemams.exe -vm hmidp80 -launch -classpath c:\tmp\midp\PioPioMobile.jar -descriptor c:\tmp\midp\PioPioMobile.jad PioPioMidlet
dummy.exe -classpath c:\tmp\midp\PioPioMobile.jar -StickyConsole =StackSize512 =StackSizeIncrement512 =HeapMin400K =HeapCapacity16M +UseCompiler com.symbian.midp.runtime.MIDletSuiteAMS -jad c:\tmp\midp\PioPioMobile.jad -jar c:\tmp\midp\PioPioMobile.jar -msid 8 -msin 1 -mid 1
java.lang.Error: Override of final method
- java.lang.Class.invoke_verify(), bci=0
- java.lang.Class.initialize(), bci=117
- hello.PioPioMidlet.startApp(), bci=16
- javax.microedition.midlet.MIDletInvoker.invokeStartApp(), bci=1
- com.symbian.midp.runtime.MIDletScheduler.startMIDlet(), bci=26
- com.symbian.midp.runtime.MIDletScheduler.run(), bci=14

D:\Documents and Settings\Davide\PioPioMobile\nbproject\build-impl.xml:295: java.lang.NullPointerException
BUILD FAILED (total time: 1 minute 4 seconds)


Queste sono le classi importate:

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import javax.microedition.rms.*;
import java.util.*;
import java.io.*;

Naufr4g0
02-10-2007, 22:36
PROBLEMA RISOLTO:

Ho scoperto il problema!!!
Era un problema di un metodo. Il metodo update della classe Canvas.
L'ho rinominato updatex e ora è tutto ok!!
A quanto pare il metodo è di tipo final nelle sdk della nokia, ma non in quelle della sun, e quindi non si puo' fare l'overriding.

Per la contentezza quasi quasi vi lascio il file jad da installare.
Provatelo e fatemi sapere se vi funziona.
Trovate i file sul primo post in allegato. ;)