Javaspel och javaprogram - så kommer du igång

Java är tekniken som gör det möjligt att köra spel och program på olika mobiler och datorer - oberoende av plattform och märke. I år är det 15 år sedan utvecklingen av java började och idag finns det över 2,5 miljarder enheter som kör java i någon form.Av Tomas Nilsson

Publicerad Senast uppdaterad

Java började 1991 som en framtidsstudie hos Sun Microsystems i USA. Ett lag på 13 forskare som kallades "the Green Team" fick i uppdrag att titta in i kristallkulan och förbereda Sun för nästa trend i datorvärlden. Deras slutsats var att hemelektroniken snart skulle börja smälta samman med datorerna och att Sun skulle tjäna pengar på detta genom att erbjuda allt som krävs för att skapa programvaran för de nya prylarna.

Kodnamnet för tekniken var "Oak". Den första prototypen, en interaktiv fjärrkontroll för kabel-tv, blev ingen succé. Marknaden var helt enkelt inte redo. 1995 byttes namnet Oak ut till förmån för java och utbredningen tog ett stort steg framåt genom att java blev en del av den då mycket populära webbläsaren Netscape Navigator.

Många trodde att framtiden låg i java-applets, små program inuti webbsajter, men utvecklingen gick trögt eftersom programnedladdning inte var den bästa grenen för 90-talets långsamma internet. Det var istället på serversidan som java först slog igenom.

Säkerhetslösningarna i java fungerade mycket bättre än den äldre CGI-tekniken och idag är servlets och J2EE en av de viktigaste teknikerna för webbapplikationer.

Java fungerar på olika sorters hårdvara och inuti olika operativsystem - trots att man inte behöver byta ut programmen eller göra en ny kompilering från källkod till maskinkod. Hemligheten är JVM - Java Virtual Machine - eller "sandlådan" som det också kallas. Istället för att javaprogrammen kommer åt processorn eller operativsystemet direkt kör man programmen i sandlådan.

Där gäller samma regler oavsett om datorn är en PC eller Mac eller om mobilen kommer från Motorola eller Samsung. Det gör att programmeraren bara behöver tillverka en version av spelet eller programmet - filen går sedan att köra i alla javaenheter som har tillräckligt bra prestanda.

Java i mobilen

Den del av java-tekniken som används i mobiler heter J2ME. Tekniken går framåt och för att kunna lägga till nya funktioner i java har man delat in standarden i olika delar. Några viktiga begrepp att känna till är konfigurationer, profiler och API (Application Programming Interface).

En konfiguration är en slags grundläggande beskrivning av vad som krävs av en java-enhet och den består av en JVM - sandlåda - och ett antal API. En API är ett bibliotek av olika funktioner, till exempel för att skicka SMS eller för att göra en uppkoppling via GPRS. För mobiler heter konfigurationen CLDC (Connected Limited Device Configuration) och den talar om för tillverkare och utvecklare vilka funktioner som alla java-mobiler måste klara och hur mycket minne som måste finnas tillgängligt för programmen.

Ovanpå konfigurationen ligger profilerna - mer detaljerade listor över funktioner. De profiler som är mest intressanta att känna till när det gäller mobiler är MIDP 1.0 och MIDP 2.0 (Mobile Information Device Profile). MIDP 1.0 är ganska begränsad. Det finns till exempel inget standardiserat stöd för ljud eller för säker kommunikation över internet. Tillverkarna tyckte inte att MIDP 1.0 var tillräckligt bra ens för tidiga javamobiler som Sony Ericsson T610 eller Nokia 3300, så man lade till extrafunktioner.

Olika tillverkare hade olika lösningar för extrafunktioner till MIDP 1.0, så standarden var ganska spretig under en tid. MIDP 2.0 är mer komplett och innehåller många möjligheter för spel, kommunikation och multimedia, så risken att tillverkarna frestas att hitta på egna speciallösningar är mycket mindre.

Utvecklingen fortsätter framåt och för att hålla ihop standarden samarbetar tillverkare och utvecklare inom ett program som heter JCP (Java Community Process). Medlemmarna i JCP ser till att nya tekniska möjligheter blir funktioner som går att använda i javaspel och program. Ett exempel på en teknik som lagts till i javastandarden är bluetooth. I tidiga javamobiler går det inte att använda bluetooth i ett javaprogram även om mobilen har funktionen.

Motorola tog fram en lösning, en så kallad JSR (Java Specification Request), på hur man kan koppla ihop mobilens bluetoothfunktion med java och presenterade den för övriga medlemmar i JCP. Varje JSR har ett nummer och när tillräckligt många medlemmar är nöjda med hur funktionen fungerar blir den en del av den officiella standarden.

Numret används sedan för att hänvisa till funktionen - om du till exempel läser om ett spel att det kräver "JSR 82" så innebär det att spelet kräver tillgång till bluetooth. Alla delar av javastandarden har ett JSR-nummer, oavsett om rör sig om en konfiguration, profil eller API.

Vad klarar min mobil?

Exakt vilka java-funktioner som en mobil klarar hittar du lättast på webbsidor för utvecklare eller långt bak bland det finstilta i manualen. I marknadsföringen brukar tillverkarna nöja sig med att ange vilken MIDP-version mobilen klarar. Om du är nyfiken på vilka funktioner som finns utöver till exempel MIDP 2.0 är det bra att känna till JSR-numren för de mest intressanta funktionerna.

JSR 75 - "PDA Optional Packages" ger javaprogrammen tillgång till en hel del användbar information som finns lagrad i mobilen, till exempel telefonboken. Den öppnar också mobilens filsystem så att spel och program kan lagra filer och hämta musik och bilder från minneskort.

JSR 82 - "Java APIs for Bluetooth" är ett måste för spel där du kan utmana andra spelare trådlöst eller för navigationslösningar som använder en bluetooth-GPS.

JSR 120 - "Wireless Messaging API" låter javaprogrammen skicka och ta emot SMS. Det

finns också en uppdaterad version som heter JSR 205 med stöd för MMS.

JSR 135 - "Mobile Media API" innehåller funktioner för ljud och multimedia.

JSR 172 - "J2ME Web Services Specification" är en funktion som många företagsanvändare väntat på. Den gör det enkelt att skriva javaprogram som hämtar data från till exempel affärssystem via XML.

JSR 179 - " Location API for J2ME" används för positioneringstjänster och utnyttjar GPS eller mobilmasternas läge.

JSR 184 - " Mobile 3D Graphics API for J2ME" är mycket användbar för spelutvecklare och innehåller en 3D-grafikmotor.

JSR 185 - "Java Technology for the Wireless Industry (JTWI)" är ett paraply för flera andra JSR-nummer. Enkelt uttryckt är en mobil med JSR 185 / JTWI en mobil som stödjer MIDP 2.0 och dessutom JSR 120 och JSR 135.

Så installerar du javaspel och javaprogram

Det är enkelt att komma igång med java. Ett smart sätt är att ladda ned program och spel med mobilens webbläsare, men du kan också föra över javafiler, så kallade MIDlets, till mobilen med bluetooth, IR, kabel eller via MMS. Vissa mobiler kan också köra MIDlets direkt från minneskortet.

Installera MIDlets via Bluetooth

1.Ladda ned ett javaspel eller program från webben, till exempel från någon av sidorna i rutan här intill. Spara jar-filen på skrivbordet eller i någon mapp där du enkelt hittar den.

2.Högerklicka på filen och välj "Till Bluetooth" eller "Skicka till … Bluetoothenhet". Det kan se lite olika ut beroende på vilken bluetoothdrivrutin din dator har. Kanske måste du välja en kod för att para ihop datorn med mobilen.

3.Svara "Ja" när mobilen frågar om du vill ta emot, installera eller spara filen. När överföringen är klar kan du starta programmet eller spelet direkt i vissa mobiler. I Nokia-mobiler sparas ibland java-program under "Galleri" istället för under "Program".

Installera MIDlets via webbläsaren

1.Öppna en Wap- eller xhtml-sajt där du kan hämta java-MIDlets; till exempel operatörens portal eller midlet.org/wap/

2.Bläddra dig fram till ett spel eller ett program som du vill testa och starta nedladdningen.

3.När nedladdningen är klar - välj "Ja" eller "Spara" för att kunna använda programmet.

Faktaruta - olika sorters Java

J2SE - Java 2 Platform Standard Edition

Används flitigt för javaprogram som körs i datorns webbläsare, men även för fristående datorprogram.

J2EE - Java 2 Platform Enterprise Edition

En javaversion för serverprogram och affärssystem.

J2ME - Java 2 Platform Micro Edition

Javaversionen för prylar som du håller i handen eller pluggar in i väggen. Används i mobiler, handdatorer, digitalboxar och annan elektronik.

Här kan du ladda ned spel och program

www.java.com/en/games/

www.java.com/en/mobile/

www.getjar.com

www.midlet.org

www.sonyericsson.com/fun/

www.softwaremarket.nokia.com

www.clickgamer.com

Du kan även hitta javaspel hos operatörerna:

wap.comviq.se

www.tre.se

live.vodafone.se

Javamobiler

Mobiler med MIDP 1.0 och ljud (JSR 135)

Nokia 3300

Nokia 7600

Siemens SX1

Sony Ericsson T610

Mobiler med MIDP 2.0 och bluetooth (JSR 82)

Motorola A1000

Nokia 3230

Siemens SK65

Sony Ericsson P910i

Mobiler med MIDP 2.0 och 3D-grafik (JSR 184)

Motorola RAZR V3

Nokia 6680

Samsung SGH-Z300

Siemens SL65

Sony Ericsson W550

Här hittar information om fler javamobiler:

developers.sun.com/t... />

Läs mer

forum.nokia.com

developer.samsungmobile.com

developer.sonyericsson.com

motocoder.com

java.sun.com/j2me/