Java ME

Screen-Elemente

Das erste Midlet

import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class HalloMidlet extends MIDlet
{
  public HalloMidlet() { }
  protected void startApp() throws MIDletStateChangeException {
    Form form = new Form( "Hello!" );
    Display.getDisplay( this ).setCurrent( form );
  }
  protected void pauseApp() { }
  protected void destroyApp(boolean b) throws MIDletStateChangeException { }
}

Hinweis!

Erzeuge ein Alert in den Varianten modal und zeitgesteuert. Weise dem Alert einen Ticker zu.

Listen

Erzeuge eine Liste mit Elementen in allen drei möglichen Modi und achte auf das Aussehen im Emulator.

Ereignisbehandlung

Textboxinhalt

Hänge an eine TextBox zwei Kommandos: ein OK-Command und ein Abbrechen-Command. Wenn man das OK-Command bestätigt, soll der Inhalt des Textfeldes auf der Konsole der Emulationsumgebung mit System.out.println() ausgegeben werden.

Interaktive Gauge

Erzeuge ein Form mit der Überschrift "Stimmung". Setzte auf das Form eine interaktive Gauge, die den Wertebreich 0 bis 5 annimmt. Hänge an die Gauge einen Listener. Wenn ein Ereignis auftritt, der Benutzer also einen Wert mit der Gauge anpasst, soll dieses Ereignis mit einem Listener erkannt werden. Im Listener soll wiederum der Wert ausgelesen und abhängig davon der Label der Gauge aktualisiert werden. Ist der Wert 0,1 soll der String "schlecht" angezeigt werden, bei 2,3 "gut" und bei 4,5 "super".

Seriennummer einer Eurobanknote

Ob eine Eurobanknote für ein Land korrekt ist, bestimmt eine Seriennummer zusammen mit einem "Short Code", der die Banknotendruckerei kennzeichnet. Die Seriennummer setzt sich

  1. aus einem Buchstaben, der das Ausgabeland kennzeichnet
  2. einer zehnstelligen fortlaufenden Nummer und
  3. einer Prüfziffer zusammen.

Damit ist die Seriennummer eine eindeutige Kennung fü den Geldschein, eine Art IP-Nummer fü Banknoten.
Für die unterschiedlichen Länder sind verschiedene Buchstaben reserviert. So steht X für Deutschland.
Um nun zu testen, ob die Seriennummer korrekt aufgebaut ist -- das heißt nicht, dass sie gütig ist --, muss man Quersummenberechnungen über alle Ziffern inklusive der Prüfzimmer bilden. Ein Beispiel: Auf meinem 5-Euroschein steht die Seriennummer X 0791290613 9. Durch Leerzeichen sind Land und Prüfziffer getrennt. Drei Schritte sind für den Test nötig:

  1. Man bildet nun die Quersumme über alle Ziffern: 0+7+9+1+2+9+0+6+1+3+9 = 47.
  2. Für das Land kommt eine Zahl hinzu, die die Stelle des Buchstabens im Alphabet kennzeichnet: X steht an der Stelle 24. Diese Zahl wird zum Ergebnis addiert. Dann ergibt sich 47 + 24 = 71.
  3. Die Seriennummer ist gültig, wenn die Quersumme der Zahl 8 ist. Das stimmt hier, denn 7 + 1 = 8.

Schreibe nun ein Programm mit einem Textfeld, welches die Prüfsumme einer deutschen Banknoten testet. Die Stelle eines Großbuchstabens (char c) im Alphabet bekommt man leicht durch die Berechnung c - 'A'.
Das Ergebnis der Prüfung soll in einem Alert dargestellt werden.
Erweitere das Programm durch die Berechnung auch nicht deutsche Banknoten.

LandBuchstabe
BelgienZ
DeutschlandX
FinnlandL
FrankreichU
GriechenlandY
IrlandT
ItalienS
LuxemburgR
NiederlandeP
ÖsterreichN
PortugalM
SpanienV

Reserviert sind für Dänemark W, für Großbritannien J und für Schweden K.

Bin ich voll?

Berechne auf der Grundlage einiger Kenngrößen den Promillegehalt im Blut.

Umrechungskurse

Im Internet gibt es viele Seiten mit den Wechselkursen ausgewählter Währungen.

RMS

E-Nummern

Lege ein RecordStore mit dem Namen "Namen" an. Lege ein Record an, welches den eigenen Namen und Vornamen speichert.

Netzwerke

E-Nummern

Überlege, wie E-Nummern in eine mobile Applikation konvertiert werden können.

Periodentabelle

Überlege, wie man die Periodentabelle in eine mobile Applikation konvertieren kann.

Chat *

Implementiere ein Chat-System. Ein Server soll Anmeldungen von Clients entgegennehmen. Ein Client schickt Daten an den Server, und dieser verteilt die Nachricht an alle angemeldeten Clients.