22. juni 2004 - 19:51Der er
16 kommentarer og 3 løsninger
JAVA til Nokia N-Gage
Jeg har en meget fin N-Gage... det er en halv GameBoy, Mobiltelefon og Palm....
Har fundet ud af man kan kører JAVA spil og programmer på den... og har en hel masse til at ligge, men de er ikke kompilet, eller hvad det nu end hedder... i hver mappe er der en hel masse 1.class, 2.class og andre *.class filer osv...
Kan jeg gøre så de bliver til *.jar eller *.jad filer... eller hvordan gør jeg?
Så vil jeg lige høre, om man kan downloade nogen smarte JAVA programmer eller noget????
hejsa :) jeg giver smirnoff ret i at hvis du har class-filer så er javakoden kompileret. Men hvis du på en eller anden måde skal bruge jar filer så download winzip. Derefter højreklik på filen og tryk på add to zip fil. Dernæst ændre du extensionen på filen i feltet add to archive til "navnPåFil".zip til "navnPåFil".jar. Så trykker du på add og vupti :) din helt egen jar fil. Foresten så kan du pakke ligeså mange class filer ned i en jar fil som du vil. Istedet for 1 fil vælger du flere og gentager derefter ovenstående.
Check lige forum.nokia.com. Her finder du kits til udvikling af MIDlets (som det hedder) til alle Nokia devices. Samme sted finder du beskrivelser af hvordan skidtet pakkes og deployes i telefonen.
Du udvikler på din pc og overfører til telefonen fx. via IR. Til formålet kan man fx. bruge Nokia Developers Suite.
Selvom du har nogle klasser, er det jo ikke sikkert at de kan eksekveres som programmer i telefonen. Det kræver at de udgøre en MIDlet ... der består af en jar (klasserne) og en jad fil der beskriver indholdet så telefonen ved hvordan det skal eksekveres.
En jad-fil kan fx. se sådan her ud: MIDlet-1: My MIDlet, /icon.png, com.mycompany.nuller.GameMIDlet MIDlet-Jar-Size: 72654 MIDlet-Jar-URL: MYMidlet.jar MIDlet-Name: My MIdlet MIDlet-Vendor: My Self MIDlet-Version: 0.1 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-2.0
public class Vibrate extends MIDlet implements CommandListener { Form iForm; Command i2Command;
public Vibrate() { iForm = new Form("Form"); i2Command = new Command("Vibrate my S60 please!", Command.SCREEN, 2); // where do this command disappear on NEO iForm.addCommand(i2Command); iForm.setCommandListener(this); }
public void startApp() { Display.getDisplay(this).setCurrent(iForm); }
public void pauseApp() { }
public void destroyApp(boolean unconditional) { }
public void commandAction( Command c, Displayable d ) { if (c == i2Command) { iForm.append("Vibrating ????? \n"); Display.getDisplay(this).vibrate(1000); } } }
Kompiler den med følgende kommando: javac -classpath c:\wtk21\lib\cldcapi11.jar;c:\wtk21\lib\midpapi20.jar Vibrate.java
(Du skal downloade cldc og midp20 for S60 fra forum nokia)
I samme folder som din .class fil ligger laver du en folder 'meta-inf', hvori du placerer en mainfestfil manifest.mf, der forklarer telefonen hvordan den starter MIDlet'ten: ---------- manifest.mf Start ---------- Manifest-Version: 1.0 MicroEdition-Configuration: CLDC-1.0 MIDlet-Name: Hello S60 Ant-Version: Apache Ant 1.6.0 Created-By: 1.4.2_02-b03 (Sun Microsystems Inc.) MIDlet-Vendor: Me MIDlet-1: Hello S60, , Vibrate MIDlet-Version: 0.1 MicroEdition-Profile: MIDP-2.0 MIDlet-Description: My comment ---------- manifest.mf Slut ----------
Zip .class og meta-inf folderen til en zip-file: 'Hello S60.jar' og send den til telefonen fx. med IR.
Når telefonen modtager jar'en foreslår den selv at installere MIDletten, hvilket du accepterer. Efter installationen kan programmet køres på telefonen.
Jeg har jo allerede et par JAVA Spil... men når jeg pakker den og omdøber den, smider dem over på min telefon og prøver at installer dem, siger den at de ikke virker!
Klart nok ... Telefonen skal vide hvilke spile du har pakke sammen. Dette gøres via manifest.mf, som telefonen forventer ligger i folderen meta-inf i roden af pakken.
Du kan se ovenfor hvordan manifestet skal se ud. Du er velkommen til at sende filerne ... fx. til jesper_zacho@hotmail.com
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.