PDA

View Full Version : [JAVA] PROGRAMMARE in Java su Pocket Pc..AIUTO! Sto in Crisi..


REN88
02-02-2008, 16:41
Ciao, è da una 2 giorni che provo ad installare un compilatore e una Java Virtual Machine sul mio Palmare (mitac mio 168 win mobile 2003).

Purtroppo quando provo l'installazione di un Compilatore x palmari chiamato "jCompiler" il pocket pc mi comunica un errore... mi comunica che non è stato trovato il file "EVM.EXE" nella cartella windows...

Ora mi sembra di ricollegare questo nomefile ad una java virtual machine... io ne ho installata però già una (ne esistono molte) quella della "Ewesoft" ma nn risolve il problema.... ne ho trovate altre ma sn a pagamento... sn disperato..cosa devo installare??

Ho bisogno assoluto che domani pomeriggio il mio pocket pc abbia la possibilità di scrivere e compilare da SOLO un semplice Programma Java...

Spero possiate aiutarmi

cionci
03-02-2008, 10:07
Allora...prima di tutto le JVM per palmare solitamente sono compatibili con J2ME e non con J2SE. Ci sono alcune JVM molto avanzate (come J9 di IBM) che permettono di compilare anche codice J2SE.
Il problema è che sia il compilatore che la JVM devo "matchare" perché se la JVM fa girare solo codice J2ME mentre il tuo compilatore fa compilare solo codice J2SE allora non ti funzionerà niente. Inoltre devono essere compatibili le versioni di Java: se il compilatore genera codice 1.4 la VM deve poter far girare codice 1.4.
Evidentemente il tuo compilatore aveva anche associata una macchina virtuale proprietaria e ti conviene trovare proprio quella.

REN88
03-02-2008, 13:20
Allora...prima di tutto le JVM per palmare solitamente sono compatibili con J2ME e non con J2SE. Ci sono alcune JVM molto avanzate (come J9 di IBM) che permettono di compilare anche codice J2SE.
Il problema è che sia il compilatore che la JVM devo "matchare" perché se la JVM fa girare solo codice J2ME mentre il tuo compilatore fa compilare solo codice J2SE allora non ti funzionerà niente. Inoltre devono essere compatibili le versioni di Java: se il compilatore genera codice 1.4 la VM deve poter far girare codice 1.4.
Evidentemente il tuo compilatore aveva anche associata una macchina virtuale proprietaria e ti conviene trovare proprio quella.

Ciao!! grazie per la risposta!! SOno finalmente riuscito a far funzionare il compilatore! Ora però c'è un altro grosso problema... Non riconosce la classe "Scanner" .

All'inizio del semplice programma che ho provato scrivo "import java.util.Scanner" (o import.java.util.Scanner nn ricordo benela sintassi corretta!!) mi comunica un errore dicendomi che "Class java.util.Scanner not found in Import"........!!

Come faccio a risolvere?? Oggi pom. riparto e devo avere il palmare capace di programmare...!!

banryu79
03-02-2008, 13:25
All'inizio del semplice programma che ho provato scrivo "import java.util.Scanner" (o import.java.util.Scanner nn ricordo benela sintassi corretta!!) mi comunica un errore dicendomi che "Class java.util.Scanner not found in Import"........!!

Come faccio a risolvere?? Oggi pom. riparto e devo avere il palmare capace di programmare...!!

Mi sa che l'hai scritto così:
import.java.util.Scanner;

Naturalmente ti da errore: non trova un package "import" in cui sia contenuta la classe java.util.Scanner.
"import" è una keyword, devi usarla così:
import java.util.Scanner;

REN88
03-02-2008, 13:55
Allora...prima di tutto le JVM per palmare solitamente sono compatibili con J2ME e non con J2SE. Ci sono alcune JVM molto avanzate (come J9 di IBM) che permettono di compilare anche codice J2SE.
Il problema è che sia il compilatore che la JVM devo "matchare" perché se la JVM fa girare solo codice J2ME mentre il tuo compilatore fa compilare solo codice J2SE allora non ti funzionerà niente. Inoltre devono essere compatibili le versioni di Java: se il compilatore genera codice 1.4 la VM deve poter far girare codice 1.4.
Evidentemente il tuo compilatore aveva anche associata una macchina virtuale proprietaria e ti conviene trovare proprio quella.

Mi sa che l'hai scritto così:
import.java.util.Scanner;

Naturalmente ti da errore: non trova un package "import" in cui sia contenuta la classe java.util.Scanner.
"import" è una keyword, devi usarla così:
import java.util.Scanner;

Purtroppo ho scritto correttamente....! Resta il fatto k nn la trova....:muro: :muro:

Qualsiasi aiuto è ben accetto!!

banryu79
03-02-2008, 14:03
Purtroppo ho scritto correttamente....! Resta il fatto k nn la trova....:muro: :muro:

Qualsiasi aiuto è ben accetto!!

Dunque, credo che la classe Scanner sia stata introdotta da Java 1.5, questo almeno per J2SE, non conosco J2ME.

Tu che versione stai usando?
Se stai usando un IDE per sviluppare allora verifica anche a che versione del JDK sta puntando per compilare.

REN88
03-02-2008, 14:12
Dunque, credo che la classe Scanner sia stata introdotta da Java 1.5, questo almeno per J2SE, non conosco J2ME.

Tu che versione stai usando?
Se stai usando un IDE per sviluppare allora verifica anche a che versione del JDK sta puntando per compilare.

Allora la java virtual Machine dice questo:

"
Enter args: -version
Jeode EVM Version 1.9.3
Supported Java Platforms: Personal Java 1.2
Requires JeodeClass: 1.9.3

Application finished: Please close EVM console. "

C'è qualcosa che nn va?

REN88
03-02-2008, 14:15
Ho provato a scrivere un programma dichiarando "import Java.awt.Rectangle"

Ma nemmeno la classe Rectangle trova....... secondo me c deve essere qualcosa che non va o sbaglio?

banryu79
03-02-2008, 14:29
Ehm, quando hai detto che eri riuscito a far funzionare il compilatore (stai usando JCompiler?) immagino ti riferissi al fatto che avevi installato la Jeode EVM che evidentemente prima non c'era.

Ok, quindi hai la Virtual Machine.

Adesso però ti servono le librerie Java e non ho capito se hai scaricato una versione del JDK (librerie di sviluppo) J2ME o no sul tuo palmare?

In tal caso verifica la versione del JDK che hai scaricato (perchè ad esempio class java.util.Scanner è stata introdotta dalla 1.5 in poi) e verifica anche che JCompiler punti alla JDK.

Comunque da una rapida ricerca in rete sulla Jeode EVM 1.9.3 ho trovato questo post (http://www.codefund.com/45/j2me-on-ipaq-3970-452292.shtm) e sembra che questa Virtual Machine non supporti J2ME ma una cosa che si chiama Personal Java 1.2 e che se provi ad andare a vedere sul sito Sun scopri che è un prodotto al termine del suo ciclo di vita --> link (http://java.sun.com/products/personaljava/)

REN88
03-02-2008, 14:39
Ehm, quando hai detto che eri riuscito a far funzionare il compilatore (stai usando JCompiler?) immagino ti riferissi al fatto che avevi installato la Jeode EVM che evidentemente prima non c'era.

Ok, quindi hai la Virtual Machine.

Adesso però ti servono le librerie Java e non ho capito se hai scaricato una versione del JDK (librerie di sviluppo) J2ME o no sul tuo palmare?

In tal caso verifica la versione del JDK che hai scaricato (perchè ad esempio class java.util.Scanner è stata introdotta dalla 1.5 in poi) e verifica anche che JCompiler punti alla JDK.

Comunque da una rapida ricerca in rete sulla Jeode EVM 1.9.3 ho trovato questo post (http://www.codefund.com/45/j2me-on-ipaq-3970-452292.shtm) e sembra che questa Virtual Machine non supporti J2ME ma una cosa che si chiama Personal Java 1.2 e che se provi ad andare a vedere sul sito Sun scopri che è un prodotto al termine del suo ciclo di vita --> link (http://java.sun.com/products/personaljava/)

Uao! grazie per il link... a quanto pare sn "fregato" giusto?

Il compilatore funziona solo con jeode, e jeode supporta solo con questo "Personal Java 1.2"....... k nn so in cosa cambi rispetto gli altri linguaggi java.

Però ho letto su un forum di un utente che chiedeva se fosse legale aggiungere classi a Jeode perchè sapeva come fare...mah...

REN88
03-02-2008, 14:40
Ehm, quando hai detto che eri riuscito a far funzionare il compilatore (stai usando JCompiler?) immagino ti riferissi al fatto che avevi installato la Jeode EVM che evidentemente prima non c'era.

Ok, quindi hai la Virtual Machine.

Adesso però ti servono le librerie Java e non ho capito se hai scaricato una versione del JDK (librerie di sviluppo) J2ME o no sul tuo palmare?

In tal caso verifica la versione del JDK che hai scaricato (perchè ad esempio class java.util.Scanner è stata introdotta dalla 1.5 in poi) e verifica anche che JCompiler punti alla JDK.

Comunque da una rapida ricerca in rete sulla Jeode EVM 1.9.3 ho trovato questo post (http://www.codefund.com/45/j2me-on-ipaq-3970-452292.shtm) e sembra che questa Virtual Machine non supporti J2ME ma una cosa che si chiama Personal Java 1.2 e che se provi ad andare a vedere sul sito Sun scopri che è un prodotto al termine del suo ciclo di vita --> link (http://java.sun.com/products/personaljava/)

Io nn ho scaricato nessuna libreria veramente......:fagiano: credo sia integrato tutto nell JVM o no?

U-Boat
03-02-2008, 14:43
Ho provato a scrivere un programma dichiarando "import Java.awt.Rectangle"
Ma nemmeno la classe Rectangle trova....... secondo me c deve essere qualcosa che non va o sbaglio?

nell'import java deve essere scritto con la j minuscola.
Comunque, riesci a far girare un programma minimale che, ad esempio, si limita a sommare due numeri?

http://java.sun.com/javame/reference/apis.jsp qui trovi la documentazione relativa alle API che puoi usare in base al profilo installato; ti consiglio di averla sempre a portata di mano soprattutto se sviluppi con un IDE che non supporta direttamente il profilo che ti interessa e ti consiglio anche di "dimenticare" tutto quello che sai sulle api, visto che a volte dai per scontato di avere a disposizione la classe X o il metodo Y e poi scopri che in j2me non è disponibile.

Io per lavoro sviluppo sistemi di controllo su j2me e a volte mi sono trovato a dover importare librerie esterne per usare funzionalità che sono normalmente a disposizione (e molto usate) in j2se, come le espressioni regolari o le funzionalità di logging.

banryu79
03-02-2008, 14:48
Io nn ho scaricato nessuna libreria veramente......:fagiano: credo sia integrato tutto nell JVM o no?

Non ne ho idea... nel senso che non conoscendo il mondo dello sviluppo su palmari (so cos'è J2ME giusto perchè bazzico il sito di Sun e lavoro in Java) fino a tre ore fa neanche conoscevo questa Jeode EVM, ma se la sua implementazione supporta Personal Java 1.2 e Personal Java è un vecchio prodotto Sun che è stato soppiantato da altre cose, tra cui J2ME magari qualche soluzione pratica per far funzionare il tutto esiste... il problema è che io non la conosco, e non so cosa suggerirti.

Speriamo passino utenti più esperti o che hanno idee più precise della mia, intanto male non fa se posti un po' di precisazioni:

A) Ma devi per forza usare JCompiler, o sei libero di usare altri compilatori?

B) Verifica in ogni caso di avere un JDK installato nel palmare; purtroppo non so se scaricando e installando la Jeode EVM c'era incluso anche l'ambiente di sviluppo Java (nel qual caso cmq sarebbe Personal Java 1.2, a quanto pare) devi verificarlo te.

Altro non mi viene in mente, ciao :)

@EDIT:

...nell'import java deve essere scritto con la j minuscola.

Ma porc' :doh: manco ci ho fatto caso :oink:

REN88
03-02-2008, 14:53
Non ne ho idea... nel senso che non conoscendo il mondo dello sviluppo su palmari (so cos'è J2ME giusto perchè bazzico il sito di Sun e lavoro in Java) fino a tre ore fa neanche conoscevo questa Jeode EVM, ma se la sua implementazione supporta Personal Java 1.2 e Personal Java è un vecchio prodotto Sun che è stato soppiantato da altre cose, tra cui J2ME magari qualche soluzione pratica per far funzionare il tutto esiste... il problema è che io non la conosco, e non so cosa suggerirti.

Speriamo passino utenti più esperti o che hanno idee più precise della mia, intanto male non fa se posti un po' di precisazioni:

A) Ma devi per forza usare JCompiler, o sei libero di usare altri compilatori?

B) Verifica in ogni caso di avere un JDK installato nel palmare; purtroppo non so se scaricando e installando la Jeode EVM c'era incluso anche l'ambiente di sviluppo Java (nel qual caso cmq sarebbe Personal Java 1.2, a quanto pare) devi verificarlo te.

Altro non mi viene in mente, ciao :)


A. Jcompiler è L'unico compilatore java per palmari che abbia trovato in rete

B. Come posso verificare che abbia installato una JDK sul palmare?:confused:


In ogni caso grazie a tutti per la disponibilità....!!

cionci
03-02-2008, 15:59
Se supporta Personal Java 1.2 allora hai a disposizione solo queste API. Sinceramente non mi torna la versione. Sei sicuro che parli di Personal Profile 1.2 e non 1.1.2 ?
Come dicevo il supporto Java per i palmari è lacunoso e frammentario in quanto non esiste un supporto ufficiale da parte di Sun e sinceramente non ne capisco il motivo.