# Einstieg in die Handyprogrammierung



## Kenan89 (11. Feb 2012)

Hallo,
ich habe mir heute das Wireless Toolkit von Sun heruntergeladen(version 2.5.2_01), da ich auch mal etwas für Handys programmieren wollte. 
Das WT von Sun, da dieser wohl alle Handys unterstützt, falls ich richtig informiert bin.

Jetzt habe ich das WT im Windows geöffnet, finde aber nirgends den Eingabebereich für Code 

Wo befindet es sich?
Ist es möglich das WT mit Eclipse zu verwenden?

Danke für Antworten.

EDIT: Die obige Frage hat sich erledigt. Ich erstellt den Code in Eclipse und lasse ihn mit dem Wireless Toolkit laufen. 
Die wichtige Frage ist jetzt, wo sich das Paket javax.microedition befindet?


----------



## Kenan89 (11. Feb 2012)

Die obige Frage hat sich erledigt.
Dafür muss ich aber das Plugin EclipseME herunterladen und in Eclipse einbinden.
Ich habe dazu Fragen:
Auf der eclipseme Website wird ein Download angeboten von 2008. Ich habe darauf geklickt, aber es gibt 2 Daten zum Download: eclipseme.feature_1.7.9.src und eclipseme.feature_1.7.9_site.
Welche muss ich verwenden, oder beide?
Jetzt habe ich einfach mal beide installiert und nach einem Tutorial im Internet versucht, in Eclipse zu installieren(Tutorial: http://st.inf.tu-dresden.de/files/teaching/ss07/swp/Metrics.pdf [Es betrifft zwar nicht direkt EclipseME aber das Prinzip der Einbindung unterscheidet sich denke ich mal nicht]).
Jetzt wird mir auch in Eclipse, wenn ich auf Help->About Eclipse SDK -> Pglu-In Details klicke eine Menge Daten angezeigt, welche EclipseME heissen, denn Provider Craig Setera ist. Aber import javax.microedition.midlet.*; funktioniert immer noch nicht.

Danke für Hilfen


----------



## Kenan89 (11. Feb 2012)

Ich hätte eine neue Frage:

Ich habe folgenden Code eingegeben und hätte dazu einige Fragen:




```
import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.DateField;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;

public class testKlasse extends MIDlet{
	
	Display display;
	Form formular;
	
	ChoiceGroup geschlecht = new ChoiceGroup("Geschlecht:", Choice.EXCLUSIVE, new String[]{"männlich", "weiblich"}, null);
	DateField uhrzeit = new DateField(null, DateField.TIME);
	
	public testKlasse (){
		formular.append(geschlecht);
		formular.append(uhrzeit);
	}
	
	public void startApp(){
		display = Display.getDisplay(this);
		display.setCurrent(formular);
	}
	public void pauseApp(){
		
	}
	public void destroyApp(boolean option){
		
	}
	
}
```

Doch die Garbage Collection beendet ständig das Programm. Woran liegt das?
Ausserdem habe ich diesen Code aus einem TUtorial, wo der Konstruktor gar nicht im Code aufgerufen wird. Macht das Eclipse automatisch? Also nirgendwo im Programm, woher ich dieses Beispiel habe steht etwas von new Konstruktor.


EDIT: Ups, hatte vergessen, das formularfeld neu zu setzen


----------



## Kenan89 (11. Feb 2012)

Jetzt habe ich folgendes vor, doch ich komme nicht weiter.
Ich will ein Projekt aus mehreren Klassen erstellen, aber ich weiss nicht
wie ich diese Klassen "verbinden" kann.
In Java macht man ja new Klasse, um den Konstruktor aufzurufen. WIe mache ich das bei J2ME?

Man hat quasi ein auswahlbildschirm, jenachdem was man wählt kommt man in eine andere Klasse und die aktuelle schliesst sich.


----------



## Marcinek (11. Feb 2012)

Folgener Tipp von mir:

Fange an mit einem kleinen JavaSE Programm an.

Außerdembehaupte ich, dass man eher für Iphone oder Android programmiert. So normale Handys mit JavaME sind nicht im Trend.


----------



## Kenan89 (11. Feb 2012)

Kleine Programme mit nur einer Klasse habe ich schon. Jetzt will ich etwas größere Programmieren.
Es ist ja so, dass man in Java mit einer main Methode anfängt. Die gibt es wohl in J2ME nicht.

Ausserdem weiss ich nicht, wie man mehrere Klassen miteinander kommunizieren lassen kann?

Ein Beispiel:

In Java erstellst du ein JFrame und fügst darin JPanel ein, zwischen denen du mit setVisible hin und her switchen kannst.
Wie funktioniert das mit J2ME? Mit Alert?


----------



## Inse60 (13. Feb 2012)

Hallo Kenan89,

zu Eclipse kann ich nichts sagen da ich Netbeans verwende. Am Anfang habe ich den Quelltext einfach mit einem Editor erstellt und mit dem WT kompiliert. Im WT gibt es auch etliche Demoprogramme die man studieren und anpassen kann. Das hat mir am Anfang sehr geholfen. Diese Projekte sollte man auch in Eclipse importieren können.

In deinem Beispiel oben musst du die "Form" erzeugen.


```
public testKlasse (){
        formular = new Form("Test");
        formular.append(geschlecht);
        formular.append(uhrzeit);
    }
```

Du kannst im Midlet mehrere Klassen erzeugen die von "Displayable" abgeleitet sind (z.B. Form). Die Klasse die du "Display" mit "setCurrent" zuweist wird angezeigt. Erklären ist nicht so einfach, schau doch mal hier rein:
Java ME (Micro Edition)
J2me Tutorial
J2ME Tutorial, Part 1: Creating MIDlets | Java.net

Diese Seiten haben mir am Anfang sehr geholfen. 

Hier noch ein Link zur JavaME-API:
MID Profile

Viel Erfolg wünscht Martin.

PS.: Um JavaME ist es recht ruhig geworden, also frage ruhig weiter.  Ob es sich noch lohnt in JavaME zu programmieren? Keine Ahnung. Ich habe ein Nokia Handy mit Touchscreen (Symbian S60 und JavaME) und dafür schreibe ich gerade ein kleines Navigationsprogramm. Ja es gibt davon schon etliche und trotzdem mache ich es. Man lernt nie aus.  Ich denke wenn man dann mal auf Android wechselt kann man das Erlernte schon gebrauchen.


----------

