J2ME Telefonbuch

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • J2ME Telefonbuch

    Hallo Coder Freunde!

    Wie ihr vieleicht schon gelesen habt hatte ich vor kurzen einen Taschenrechner hier vorgestellt über den ich auf die idee gekommen bin das ganze mal für ein Handy zu programmieren ....
    So nun habe ich mich etwas schlau gemacht und herausgefunden das man das ganzen mit J2ME realisieren kann habe mich also kurz eingearbeitet und bald gemerkt das das ganze so nichts wird :)

    Also habe ich mich noch viele weitere Stunden damit beschäftigt und einige tutoritals durchgearbeitet einfach um J2ME besser zu verstehn ist wie ich finde schon etwas anders wie Java ok bin auch relativ weit gekommen habe jetzt einfach mal bevor ich mich an die arbeit mache meinen rechner zu realisieren ein Telefonbuch geschrieben !

    So nun zum eigentlichen Problem Das Telefonbuch hat erstaml eine List einträge()
    auf denne gibt es 2 menü punkte "Einträge ansehen" und "Einträge hinzufügen"

    der Menü punkt "Einträge ansehen" funzt auch optimal also rechnet die Größe des Arrays und speichert dann alle einträge in eine String Item was wiederum an eine Form gehängt wird

    So nun der Menüpunkt "Einträge hinzufügen"

    Wird dieser Menüpunkt ausgeführt dann wird die Methode hinzufügenKontakt() aufgerufen

    Quellcode

    1. public void hinzufügenKontakt(){
    2. tele2=new Form("Kontakt");
    3. nameT =new TextField("Name",null,20,1);
    4. nummerT= new TextField ("Nummer",null,20,3);
    5. tele2.append(nameT);
    6. tele2.append(nummerT);
    7. tele2.addCommand(back);
    8. tele2.addCommand(hinzufügen);
    9. tele2.setCommandListener(this);
    10. display.setCurrent(tele2);
    11. }
    Alles anzeigen

    So wenn man nun etwas einträgt und auf hinzufügen klickt wird die Methode write() aufgerufen

    Quellcode

    1. public void write (){
    2. if(nameT.getString()==null || nummerT.getString()==null{
    3. fehler = new Alert("Sie müssen Name und Nummer ausfüllen");
    4. display.setCurrent(fehler, tele2);
    5. }else {
    6. for(int i =0; i<30;i++){
    7. if ( pa[i]==null ){
    8. speichern=new Alert("Der Kontakt wurde hinzugefügt");
    9. pa[i]=new Person(nameT.getString(),nummerT.getString());
    10. display.setCurrent(speichern, einträge);
    11. }
    12. }
    13. }
    14. }
    Alles anzeigen


    So soweit so gut es wird auch bei hinzufügen der Alert speichern ausgegeben und wir kommen wieder zur List einträge mit den zwei MenüPunkten zurück .... wenn man jetzt aber auf "Einträge ansehen" geht wird einen leider nur noch ein leerer beildschirm angezeigt warum ????

    des weitern ist mir auf gefallen das wenn man eines der beiden Textfelder in der eingabe Maske Leer läst auch nicht der gewünschte Fehler ausgegeben wird sondern auch hier gesagt wird der "Kontakt wurde gespeichert" aber eigentlich dürfte das doch nicht sein da ja eine der Bedingungen zutrifft nameT oder nummerT.getString() == null ?????

    übrigens es sind schon zwei einträge vorhanden die von anfang an durch den Konstruktor in das Array pa[] gespeichert werden .....

    Ich danke euch schon mal im Vorraus für eure Hilfe !

    ach auch ist mir aufgefallen das es für die TextFields und auch für Commands und wahrscheinlich anderen sachen Typ nummer gibt wäre cool wenn jemand wüsste wo mann diese nummern her bekommt damit man weiß welcher Typ welche nummer und auch die verschiedenen prioritäten und was sie bedeuten also z.B. exit = new Command ("Exit", Typ nummer, Priorität)

    Viele Grüße

    PS: sorry für den mal wieder elenlangen Text!!!!
  • Also grad echt wenig Zeit aber 1-2 Bemerkungen:

    Für solche Fälle wie "die If-Bedingung greift nicht" läßt sich wirklich 1-a der eclipse Debuger benutzen! Damit kannst du ganz leicht feststellen welchen Wert nameT.getBla zurückgibt.
    Außerdem: Es gibt in Java ein riesiges Collection Framework. Benutz doch einfach Listen statt arrays. Damit ersparst du dir den Ärger mit den indizes und der code wirkt gleich etwas freundlicher ;)

    Solltest du mit eclipse arbeiten drück ab und an mal STRG+SHIFT+F zum aufräumen deines Codes. Da sind sooo viele Leerzeichen drine ;) Oder kommt das durchs einfügen ins Forum?

    So, wie gesagt grad echt bisschen wenig Zeit (morgen früh klausur >.<).
    Bis dahin :)
  • Hallo Fokus !

    Danke für deine Antwort ... Nun ja normalerweiße nutze ich eclipse aber da ich es nicht geschaft habe J2ME mit eclipse lauffähig zu bekommen habe ich es mir einfach gemacht und NetBeans genommen so nun gibt es dort auch einen debugger aber komme nicht so wirklich mit dem Teil zu recht !!!

    Ja werde es mal mit Listen probieren geht vermutlich echt einfacher ....

    Ja die vielen Leerzeichen sind mir wohl beim einfügen ins Forum passiert !

    Falls doch noch jemand den Fehler in diesem Code findet kann trotzdem gerne seinen Senf dazu geben!

    Danke!