Auf vielen Handys ist es mittlerweile möglich, selbst entwickelte Programme laufen zu lassen. In der ersten Ausgabe der If Fase Ausgabe 1 vom 1. Juni 2005 wurde dargestellt, wie diese Möglichkeit mit Hilfe der Programmiersprache Python umgesetzt werden kann. Informatiksysteme – mobil und programmiert
Auch für die Programmiersprache Java gibt es eine Entwicklungsumgebung J2ME Wireless Toolkit. Unter www.jgames.de/javagames2.pdf findet sich eine gute Dokumentation zur Java-Spieleprogrammierung für Handys.
In diesem Beitrag wird erläutert, welche Details für eine Umsetzung bedeutsam sind und ein kleines Beispiel vorgestellt, um so den Einstieg in die Übertragung von Modellierungsbeispielen aus dem Informatikunterricht auf diese Informatiksysteme möglich zu machen.
Ich bin Referendar am Warsteiner Gymnasium und unterrichte Informatik in der Klasse 11. Dort habe ich mit den Schülern ein einfaches Billardspiel programmiert. Mir kam die Idee, das Billardspiel für mein aktuelles Handy, ein Motorola V600 umzusetzen.Nachdem die dazu nötige Software installiert war und ein paar Tutorials durchgearbeitet wurden, begann es mit einem einfachen Programm zum Darstellen von geometrischen Figuren. Dazu wurden die beiden folgenden Klassen erstellt.
Hauptklasse/* /* import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class grafik extends MIDlet { public grafik() {} public void startApp() { Canvas canvas = new MyCanvas(); Display display = Display.getDisplay(this); display.setCurrent(canvas); } public void pauseApp() {} public void destroyApp(boolean unconditional) }
Unterklasse
/* /* import javax.microedition.lcdui.*; public class MyCanvas extends Canvas { public void paint(Graphics g) { g.setColor(0,0,0); g.fillRect(0,0,getWidth(), getHeight()); g.setColor(255,255,255); g.drawString("Hallo Welt",0,0,g.TOP|g.LEFT); } }
Die übersetzten Klassen müssen dann noch zu einer .jar
Datei kombiniert werden. Anschließend kann diese .jar
Datei
dann mittels Bluetooth auf das Handy übertragen werden. Nachdem alles
ganz gut geklappt hat, habe ich angefangen das Billardspiel für das Handy
umzusetzen. Als das Spiel fertig war und mit dem Simulator der
Entwicklungsumgebung getestet wurde, habe ich das Programm auf das Handy
übertragen. Dann kam die Ernüchterung und ich suchte nach dem Fehler. Es
stellte sich heraus, dass mein Handy nur MIDP1.0 unterstützt.
Wikepedia: „MIDP (Mobile Information Device Profile) ist ein Profil der Java 2, Micro Edition (J2ME), das speziell auf die Fähigkeiten kleiner mobiler Endgeräte … ausgelegt ist. Es umfasst daher Funktionen zur Ansteuerung und Abfrage von ITU-T Einhandtastaturen, Miniaturbildschirmen, flüchtigen und nicht-flüchtigen Speicher im Kilobyte-Bereich etc. MIDP-Applikationen heißen MIDlets.“
MIDP1.0 hat einen sehr eingeschränkten Befehlssatz. Es fehlt z.B. der
Datentyp float
, den es erst mit MIDP2.0 gibt und auch
Funktionen wie sin
, cos
, sqrt
stehen erst ab MIDP2.0 zu Verfügung. Das Billardspiel kommt aber ohne die
Verwendung von trigonometrischen Funktionen nicht aus. So habe ich das
Projekt erst mal auf Eis gelegt, bis ich ein Handy besitze, das MIDP2.0
unterstützt.
Trotzdem halte ich das Thema auch für die Schule sehr interessant. Viele Schüler besitzen ein Handy und so können kleinere Programme geschrieben werden, die sich die Schüler auf ihr eigenes Handy laden können. Der Motivationsfaktor ist sicher sehr hoch.