Diverse Probleme bei der ersten "Testapp"

  • Hallo Zusammen,
    ich bin dabei meine erste App zu entwickeln und habe mich für meine Problemstellungen auf das Rudimentärste beschränkt. Es wäre schön hier entsprechende Antworten zu bekommen.


    Die App hat 2 Textfelder in der double eingetragen werden können. Es gibt eine Checkbox die ein weiteres Textfeld sichtbar und unsichtbar macht. Das Textfeld bleibt für die Problemstellungen erstmal unberücksichtigt; wichtig hierbei ist mir die Validierung der CheckBox. Die Einträge sollen subtrahiert und im Taost das Ergebnis angezeigt werden. OnClick button soll ausgeführt werden.


    Hauptprobleme (Ausführung des Programms auf einem AVD):
    1) Leereinträge in den Textfeldern beim 1. Ausführen in neugestartetem AVD nachdem die App aufgerufen wurde (also Button klicken) -> Führt zum unexpected error und zum Abbruch der App (Speicherverhalten, Datenherkunft)
    2) Beim 1. Ausführen in neugestartetem AVD ohne die Checkbox zu checken gibt die Variable 'test = null' aus (keine Bedingung der if(Zeile 56) ist gültig...) (Speicherverhalten, Datenherkunft)
    3) Wenn Einträge nach dem 1. Ausführen statt gefunden haben, so sind diese für alle weiteren Ausführungen gültig - Im Toast wird die anzeige der einzelnen Variablen zwar geändert, für die Berechnung 'b = sourcedata - sourcedat;' behält 'b' jedoch den Wert der 1. Ausführung des Programms(Datentypen, Speicherverhalten).
    Bs.:
    1. Ausführung: 2-2=0
    2. Ausführung: 3-2=0 (Das Programm führt die Berechnung nicht erneut aus, sondern behält den Wert des 1. Aufrufs)





    Nebenproblem:
    Am Rande, das Exceptionhandling stört mich irgendwie... - Hat jemand eine Idee wie ich das ohne einen try-block hinbekomme? Der Code ist ein paar Tage älter, ich weiss nicht mehr was die Nullpointerexception erzeugt...

  • Ich fürchte, Dein Versuch das auf das Wesentliche runterzubrechen war nur so semi–erfolgreich.


    Anstatt mit Try/Catch und If/Else herumzuspielen, hättest Du lieber den Textfeldern den richtigen Tastaturtypen übergeben sollen.
    android:inputType="numberDecimal" zum Beispiel.


    Anstatt die NullPointerException abzufangen hättest Du lieber schauen sollen, woher sie stammt und am Punkt des Auftretens die Variable auf einen sinnvollen Wert setzen sollen.

    Java
    if( eText1.getText() != null) {
      eText1a = eText1.getText().toString();
    } else {
      eText1a = "0";
    }

    Deine unzähligen Typumwandlungen von Text in String in String sind auch äußerst verwirrend.


    Die Benennung der Variablen ist ebenfalls ausgesprochen gewöhnungsbedürftig bis unintuitiv.


    Insgesamt scheint es mir so, als wüsstest Du gar nicht, was Du da tust sondern machst einfach irgendwas in der Hoffnung es zum Laufen zu bekommen.


    Eventuell solltest Du erst mal klein bei den offiziellen Android Trainings anfangen um ein Gefühl dafür zu bekommen, was wie warum funktioniert.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!