Nokioteca [Nokia] Forum: [j2me] Incompatibilità Midlet Con N70 - Nokioteca [Nokia] Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

[j2me] Incompatibilità Midlet Con N70

#1 L   Naufr4g0 

  • Member
  • PuntoPunto
  • Gruppo: Utente
  • Messaggi: 14
  • Iscritto: 18 settembre 2007
  • Cellulare:Nokia N70

Inviato 29 settembre 2007 - 00:51

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 non mi si avvia.
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 cattura meglio la vostra attenzione... B)

Nessun consiglio?
Non vi piace proprio programmare i cellulari...
Lasciate perdere il Python, java è molto più figo! B)

Download file


Messaggio modificato da Naufr4g0 il 01 ottobre 2007 - 01:01

0

#2 L   Il.Socio 

  • Nokioteca Staff
  • Gruppo: Moderatore
  • Messaggi: 7122
  • Iscritto: 02 dicembre 2005
  • Località:Torino
  • Cellulare:N8-00

Inviato 01 ottobre 2007 - 12:08

Java l'ho abbandonato parecchi anni addietro, al tempo mi scontrai con problemi di questo tipo in quei casi in cui il device aveva poca memoria riservata alle midlet, oppure in casi in cui utilizzavo liberie specifiche di un vendor (ovviamente non presenti sul cell. di un'altro).

Cmq. se non sapessi che pesci pigliare, puoi sempre adottare il metodo che io definisco "chirurgico" B) taglia via delle belle "fettone" di codice (cercando di eliminare dipendenze da eventuali package esterni) riducendo il sorgente all'osso, se continua a non girare allora procedi con ulteriori tagli... Quando finalmente gira, aggiungi pian piano le varie fette sino ad individuare la causa del problema...

P.S. Lascia perdere java, c++ e' molto piu' figo! B)
Per segnalare allo Staff un messaggio non conforme al regolamento è sufficiente premere il bottone "Segnala" posizionato in basso a sinistra di ciascun messaggio.
0

#3 L   dokkis 

  • Senior Member
  • Gruppo: Developer
  • Messaggi: 828
  • Iscritto: 22 ottobre 2006
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 01 ottobre 2007 - 14:26

Visualizza MessaggiIl.Socio, il 01/10/2007 - 13:08, ha scritto:

P.S. Lascia perdere java, c++ e' molto piu' figo! B)


eheh la fai facile eh! B)
io ci sclero appresso al symbian c++! aaaaaa xD xò qnd ho tempo voglio mettermici + seriamente a fare qlk app + difficile! ghgh
0

#4 L   Naufr4g0 

  • Member
  • PuntoPunto
  • Gruppo: Utente
  • Messaggi: 14
  • Iscritto: 18 settembre 2007
  • Cellulare:Nokia N70

Inviato 01 ottobre 2007 - 19:08

Visualizza MessaggiIl.Socio, il 01/10/2007 - 13:08, ha scritto:

Java l'ho abbandonato parecchi anni addietro, al tempo mi scontrai con problemi di questo tipo in quei casi in cui il device aveva poca memoria riservata alle midlet, oppure in casi in cui utilizzavo liberie specifiche di un vendor (ovviamente non presenti sul cell. di un'altro).

Cmq. se non sapessi che pesci pigliare, puoi sempre adottare il metodo che io definisco "chirurgico" B) taglia via delle belle "fettone" di codice (cercando di eliminare dipendenze da eventuali package esterni) riducendo il sorgente all'osso, se continua a non girare allora procedi con ulteriori tagli... Quando finalmente gira, aggiungi pian piano le varie fette sino ad individuare la causa del problema...

P.S. Lascia perdere java, c++ e' molto piu' figo! B)


Le classi che importo sono queste:

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


Quindi niente di eclatante... Sono solo le classi specifiche per i giochi.

Il fatto è che se provo il gioco sulla piattaforma Wireless Toolkit della Sun mi funziona bene, nel momento in cui utilizzo la piattaforma S60 2nd FP3 MIDP SDK della Nokia, il gioco non si avvia...

Questo è l'output del netbeans quando avvio con l'emulatore S60 2nd FP3 MIDP SDK.

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)


Ah, ma cosa hai usato per imparare a scrivere in C++ per Symbian?
Guide, pagine web, documenti vari...?

Messaggio modificato da Naufr4g0 il 01 ottobre 2007 - 19:09

0

#5 L   Il.Socio 

  • Nokioteca Staff
  • Gruppo: Moderatore
  • Messaggi: 7122
  • Iscritto: 02 dicembre 2005
  • Località:Torino
  • Cellulare:N8-00

Inviato 01 ottobre 2007 - 21:25

Visualizza MessaggiNaufr4g0, il 01/10/2007 - 20:08, ha scritto:

java.lang.Error: Override of final method

Direi proprio che l'errore e' qui... Prova a rinominare tutti i metodi che hai definito tu (non quelli del framework di cui fai l'override), aggiungendo ad es "ABC" al fondo...
Sospetto che tu abbia dichiarato un metodo che sfortunatamente si chiama nella stessa maniera di un'altro metodo (non documentato) che e' gia' presente nell'sdk di Nokia.

Visualizza MessaggiNaufr4g0, il 01/10/2007 - 20:08, ha scritto:

Ah, ma cosa hai usato per imparare a scrivere in C++ per Symbian?
Guide, pagine web, documenti vari...?

Vedi qui:
Per visualizzare questo link registrati o esegui il log in.

Messaggio modificato da Il.Socio il 02 ottobre 2007 - 00:26

0

#6 L   Naufr4g0 

  • Member
  • PuntoPunto
  • Gruppo: Utente
  • Messaggi: 14
  • Iscritto: 18 settembre 2007
  • Cellulare:Nokia N70

Inviato 02 ottobre 2007 - 01:27

Visualizza MessaggiIl.Socio, il 01/10/2007 - 22:25, ha scritto:

Direi proprio che l'errore e' qui... Prova a rinominare tutti i metodi che hai definito tu (non quelli del framework di cui fai l'override), aggiungendo ad es "ABC" al fondo...
Sospetto che tu abbia dichiarato un metodo che sfortunatamente si chiama nella stessa maniera di un'altro metodo (non documentato) che e' gia' presente nell'sdk di Nokia.


Non ho usato metodi miei, ma ho solo fatto l'override di quelli esistenti o messo quelli necessari.
Ho usato un sistema molto procedurale.
Le classi e i rispettivi metodi sono:

PioPioMidlet ---> commandAction, destroyApp, pauseApp, startApp, update
HeartbeatTask ---> run
PioPioCanvas ---> paint, update

La maggior parte del codice si trova su PioPioMidlet.startApp e PioPioCanvas.update

Quindi quale nomi dovrei sostituire? Quelli dei parametri?

EDIT:
Ho scoperto il problema!!! Grazie per il consiglio!
Effettivamente 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.
Ho trovato una discussione a questo indirizzo -->
Per visualizzare questo link registrati o esegui il log in.


Per ringraziarti ti offro la prima versione demo del gioco, che trovi allegata sotto! B)
In caso mi dici se ti funziona. Io per installare il gioco ho dovuto mettere il file jar sul cellulare e installarlo da li' stesso.

Download file


Messaggio modificato da Naufr4g0 il 02 ottobre 2007 - 02:12

0

Condividi questa discussione:


Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione