====== JavaME ====== JavaME tarkoittaa Javan Micro Editionia (pieni versio), jota käytetään "pienissä" laitteissa. Koska kyseessä on pieni versio, niin kaikkia Java SDK:n ominaisuuksia ei voi käyttää. JavaME:llä voi tehdä omia ohjelmia esimerkiksi kännyköitä varten. JavaME-ohjelmointia varten tarvitset * [[http://java.sun.com/javase/downloads/index.jsp|JavaSDK:n]], jota tarvitaan tavallisessakin ohjelmoinnissa * [[http://java.sun.com/products/sjwtoolkit/download.html|Sun Java Wireless Toolkit 2.5.2 for CLDC:n]] kääntämistä ja paketointia helpottamaan Tehdään yksinkertainen ohjelma, joka tulostaa ruudulle "Heippa maailma!" Kirjoita seuraava yksinkertainen ohjelma import javax.microedition.midlet.MIDlet; public class HeippaMaailma extends MIDlet { public void startApp() { System.out.println("Heippa"); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } } Tallennuskansion saat kohta. Luo ensin Wireless Toolkitillä projekti HeippaMaailma {{java:screenshot179.png|Luo uusi projekti}} Asetuksista voit valita projektin ominaisuudet, eli mitä JavaME:n ominaisuuksia käytetään. Kännykän ominaisuuksia löytyy ainakin [[http://www.club-java.com/TastePhone/J2ME/MIDP_Benchmark.jsp|täältä]]. Luonnin yhteydessä näet tallennuskansiot: C:\Documents and Settings\markus\j2mewtk\2.5.2\apps\HeippaMaailma. Lähdekoodi tallennetaan tuossa kansiossa olevaan src-kansioon. Painamalla "Build"-painiketta ohjelma käännetään ja "Run"-painikkeella ohjelma suoritetaan kännykkäsimulaattorissa. {{ java:screenshot184.png |Simulaattori}} Ohjelman tulostus tulee... Wireless toolkitin ikkunaan! Normaali tulostus ei siis toimi JavaME:ssä. Tehdään seuraavaksi ohjelma, joka tulostaa ruudulle "Heippa maailma". import javax.microedition.lcdui.Canvas; import javax.microedition.midlet.MIDlet; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Graphics; public class HeippaMaailma extends MIDlet { Canvas myCanvas; public HeippaMaailma() { myCanvas = new MyCanvas(); } public void startApp() { Display display = Display.getDisplay(this); display.setCurrent(myCanvas); myCanvas.repaint(); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } } class MyCanvas extends Canvas { public void paint(Graphics g) { g.drawString("Heippa maailma!", getWidth()/2, getHeight()/2 - 10, Graphics.HCENTER | Graphics.BASELINE); } } {{ java:screenshot189.png |}} ===== Kännykkään siirrettävän paketin tekeminen ===== Kännykkään siirrettävä paketti saadaan valitsemalla Wireless Toolkitissä Project -> Package -> Create package. Siirrä sen jälkeen sovelluksen /bin-kansiosta jar-tiedosto kännykkään ja testaa ohjelman toimivuus siellä. {{ java:screenshot0032.jpg |}} ===== Lisäluettavaa ===== Lisää ohjeita löytyy osoiteista * [[http://today.java.net/pub/a/today/2005/05/03/midletUI.html?page=4|Java today]] GUI:n tekemisestä (englanniksi)