# J2ME programmierung - startprobleme.



## KYL3R (25. Jan 2010)

Hallo, ich habe ein Nokia 5800 (S60v5) und würde dafür gern eine Bluetooth applikation schreiben. Ich habe schon nächte mit google verbracht, und auch was gutes gefunden :
Spiele mit J2ME schreiben

In dem Beispiel (is eh für v40 oder sowas..) hängt sich der emulator immer bei "create jar file" auf :/ keine ahnung warum.

Eigentlich möchte ich mich eh auf S60v5 konzentrieren, nur war die page sehr ausführlich, also habe ich da mal alles schritt für schritt gemacht... hm.

Ich kann mit java recht gut umgehen, nur bekomme ich bei j2me beispielen immer min 30 error - ich glaube mir fehlen da noch klassen. bzw - woher weis die console dass er per javac J2SE und nicht j2me kompilieren soll ?

Ein Beispiel mit klassen und Anweisung wie ich das erstmal zum laufen bringe wäre super.

Ansonsten hätte ich gern hilfe bei generellen Dingen. Kompilieren mit javac ? oder ist das nur in J2SE so ? 

Brauche ich überhaupt die J2ME oder kann S60v5 schon j2SE  ? in dem beispiel (link oben) steht ja dass die damaligen mobiltelefone noch kein j2se konnten. 

Alles in allem bin ich nicht blöd, nur brauche ich etwas Starthilfe. Ich hab natürlich J2me von der sun page runtergeladen - was genau macht er dann ? installiert er die grundlegenden klassen ? Wenn ich dann n bluetooth beispiel zu kompilieren versuche, dann fehlen mir wohl klassen - bei 30 errors - richtig ?


----------



## The_S (26. Jan 2010)

Hi,

hier findest du ein paar Einstiegskapitel zu J2ME: Java Blog Buch : 21. Java Micro Edition . Ich würde dir empfehlen mit einer IDE zu arbeiten. Möchtest du weiter "zu Fuß" kompilieren, hilft dir dieses Kapitel für die richtigen Compiler-Einstellungen Java Blog Buch : 21.02 JAR, JAD und Proguard .

Es gibt noch kein gängiges Mobiltelefon, dass bereits J2SE unterstützt. Wenn Java läuft, dann Java ME.


----------



## KYL3R (28. Jan 2010)

Danke für die Antwort. Ich habe jetzt das J2ME Platform SDK 3.0  -  versuchte also das HelloWorld midlet zu erzeugen wie im Tutorial beschrieben, und wie immer scheint es irgendwie selbstverständlich zu sein, was mir nicht gelingt. 
Ich hab alles gemacht wie beschrieben, aber mein Quelltext zeigt 100 Ausrufezeichen. 
Es geht schon beim Package ganz oben los, was den rest erklären könnte. 


```
package de.jbb.hello;
```

Es hies "Bevor Sie auf Finish klicken, wählen Sie noch ein Package aus: de.jbb.hello." Bei Package: war bei mir nichts auswählbar also habe ich einfach  de.jbb.hello.  eingegeben. war das falsch ?
Ich hab da nichts gefunden in Bezug auf Packages runterladen und installieren... :/


----------



## The_S (29. Jan 2010)

KYL3R hat gesagt.:


> Danke für die Antwort.



Kein Problem. Fragen direkt zum Code im Kapitel kannst du auch gerne als Kommentar im Kapitel schreiben. Evtl. ist dann der Context klarer.



KYL3R hat gesagt.:


> Ich habe jetzt das J2ME Platform SDK 3.0



Ein guter Schritt 



KYL3R hat gesagt.:


> Ich hab alles gemacht wie beschrieben, aber mein Quelltext zeigt 100 Ausrufezeichen.



Der Quelltext kann schon mal gar nichts zeigen. Wenn dann zeigt dir die IDE etwas an. Mit der Fehlermeldung "100 Ausrufezeichen" kann ich jedoch nicht viel Anfangen. Da musst du schon ein bisschen konkreter werden.



KYL3R hat gesagt.:


> Es geht schon beim Package ganz oben los, was den rest erklären könnte.
> 
> 
> ```
> ...



Nein, das war richtig. Wenn vorher kein Package angelegt wurde, muss das Package eingetragen und nicht ausgewählt werden. Ist im Beitrag evtl. ein bisschen ungünstig ausgedrückt. Ich hab den Beitrag aber mal entsprechend ausgebessert.



KYL3R hat gesagt.:


> Ich hab da nichts gefunden in Bezug auf Packages runterladen und installieren... :/



Package runterladen/installieren? Hast du überhaupt schon einmal in Java programmiert? Falls nein, solltest du dir zuerst mal die Basics des "normalen" Java ansehen.


----------



## KYL3R (29. Jan 2010)

Doch doch mit Java hab ich schon programmiert. nur is das mit der ide und so iwie neu...

Natürlich hat mir das SDK und nicht der Quelltext Ausrufezeichen ausgegeben... Aber das war glücklicherweise ganz simpel. Ich muss dazusagen : es ging ewig nicht weil ich es mit der console machen wollte - da hatte ich auch immer error beim Kompilieren. Als ich im SDK dann die Ausrufezeichen sah dachte ich : gleiche sch****. Dann vermutete ich dass mir ne Bibliothek oder so fehlt, davon war aber nirgens die Rede, nur vom Package  - womit ich mich nich so auskenne. 

Fakt ist, mit dem SDK gibts gar keine Probleme, ich hab nur die Nummern mitkopiert gehabt, und hatte zu oberflächlich die error betrachet, da ich vorher auch immer welche hatte, bei anderen Beispielen (da hies es allerdings immer symbol not found - da fehlten libs - wurden wohl nicht gefunden obwohl ich das in den Umgebungsvariablen eingetragen habe.)

Das mit den Nummern mitkopieren meine ich so:

```
14	 
15	  // Flag, damit die Applikation nur ein einziges Mal initialisiert wird
16	  private boolean firstTime = true;
17	  // Das Display
18	  private Display disp;
19	  // Displayable Form zur Darstellung auf dem Bildschirm
20	  private Form helloView;
21	  // Command zum Beenden der Applikation
22	  private Command exit;
23	 
24	  public void startApp() {
25	 
26	    // Nur initialisieren, falls die Methode das erste Mal aufgerufen wurde
27	    if (firstTime) {
28	      // Display holen
29	      disp = Display.getDisplay(this);
30	      // Command mit folgenden Attributen erzeugen:
31	      // 1.) Anzeigetext = "Beenden"
32	      // 2.) "Kategorie", unter der dieser Command eingeordnet wird
33	      // 3.) Priorisierung, an welcher Position der Command angezeigt werden soll
34
```

Danke


----------



## KYL3R (29. Jan 2010)

Hey. Ich hab dann noch ne Frage. Ich will ja für s60v5 programmieren - hab da mal ein Beispiel genommen um zu testen ob das jetzt alles geht aber dann erhalte ich wieder "symbol not found". Ich hab das Nokia s60 v5 SDK oder wie das heist schon geladen. Muss ich im J2ME SDK noch was einstellen ?


----------



## noobadix (30. Jan 2010)

Meist wird ja die Zeile angezeigt, an der er meckert, vielleicht musst du ein JSR dazunehmen, das funktioniert irgendwie über Einstellungen und API-Selektion. Sonst zeig doch mal etwas Code!

An Bluetooth habe ich mir schon die Zähne ausgebissen, wenn du magst, kann ich dir meine Ansätze und Quellen schicken. Würdest du mir deine Lösung (Client/Server) dann präsentieren, falls erreicht?
Ich habe versucht einfach nur einen String zu senden...nur einen String...aber es hat nie geklappt 
Habe Bluecove benutzt.


----------



## KYL3R (1. Feb 2010)

Genau das würde mir reichen. Ich hab per java ein Programm geschrieben welches über USB (das ging recht leicht, BT is dagegen unmöglich ^^) einfach zahlen sendet - per C hab ich dann auf dem Arduino (ein kleines i-o-board) ein Programm geschrieben welches die Zahlen als Befehle interpretiert. Darüber kann ich dann Signale an Relais und so weiter senden. Hab n galvanisch getrenntes mit 5V angesteuert und kann damit 230V-stromkreise schalten. Per Tastatur kann ich jetzt also schon mein Licht an und aus machen. Jetzt wollte ich das ganze per Bluetooth steuern - klar iwann musste das kommen  Und da würde es mir ebenfalls reichen eine Zahl oder n String zu senden, kann dann ja mein javaprogramm interpretieren(damit meine ich, dass ich case anweisung gebe was zu tun ist wenn welche Zahl kommt - nicht das interpretieren für den Interpreter  )

Also gehts mir so wie dir ^^ 
Kannst mir gern deinen Kram mal senden.. Und wenn ich das iwann schaffe (lese mich seit wochen durch iwelche beispiele und internetseiten / foren)  dann veröffentliche es hier möglichst einfach erklärt. 
Email an meinen Benutzernamen. Bin bei gmx und hab ne deutsche endung. (also nicht .net oder .org  )


----------

