Liste bearbeiten/Löschen nicht möglich..komisch :(

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von jayjo2012, 18.06.2012.

  1. jayjo2012, 18.06.2012 #1
    jayjo2012

    jayjo2012 Threadstarter Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    18.06.2012
    Hallo alle zusammen,

    versuche mich gerade an meine erste Android-App. Möchte eine s.g. ToDoListe oder auch Notizzettelapp erstellen. Sinn des Ganzen ist es intern Daten zu speichern, das klappt bei mir auch bisher. Jedoch wenn ich aufs zweite Layout zugreifen möchte, wo ich die Listeneinträge bearbeiten oder löschen will wirft er mich im Emulator aus der App und zeigt mir folgendes an: "The application todoList has stopped unexpectedly. Please try again" jedoch jedes Mal wieder dasselbe Problem :(
    Im Log-Fenster zeigt er mir bei Liste bearbeiten folgenden Fehlercode an :

    "E/AndroidRuntime(403): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.androidhausarbeit.todoList/de.androidhausarbeit.todoList.ToDoListEditActivity}: android.database.sqlite.SQLiteException: no such column: sortierung: , while compiling: SELECT _id, eintrag FROM ListenEintraege WHERE (liste=2) ORDER BY sortierung".

    Verstehe wirklich nicht woran es da liegen kann.

    Sobald ich auf löschen drücke über die OnclickMethode kommt der Fehlercode:

    "E/AndroidRuntime(414): java.lang.IllegalArgumentException: Unknown URI: content://de.androidhausarbeit.todoList/listen/2"

    Durch diese Fehler lässt er mich nicht auf mein zweites Layout..

    Habe 2 Activitys die ToDoListEditActivity habe ich als Textdatei miteingefügt, sowie ein Screenshot des Fehlercodes im Log-Fenster.

    Wo kann denn da der Fehler liegen..Ich hoffe Ihr könnt mir helfen und danke euch vielmals für eure Mühe :)
     

    Anhänge:

  2. Micka, 18.06.2012 #2
    Micka

    Micka Erfahrener Benutzer

    Beiträge:
    173
    Erhaltene Danke:
    1
    Registriert seit:
    30.12.2011
    Du selektierst dir in deinem cursor die Spalten "_id" und "eintrag" willst dann aber nach Spalte sortierung sortieren. das klappt nicht. Man kann nur nach Spalten sortieren die auch im cursor enthalten sind wenn ich micht nicht irre

    so sollte es klappen
     
  3. jayjo2012, 18.06.2012 #3
    jayjo2012

    jayjo2012 Threadstarter Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    18.06.2012
    Danke für deine Antwort :)

    hmm durch Sortierung hinten im Cursor soll die Sortierung des Eintrags in der Liste dargestellt sein. Wie würdest du es deines Erachtens besser finden bzw. umschreiben, kann ich ja dann testen und schauen ob es klappt

    Gruß

    Der ursprüngliche Beitrag von 17:23 Uhr wurde um 18:32 Uhr ergänzt:

    Hallo alle zusammen,

    habe nochmal nachgeschaut, habe noch ein Package .Provider mit einer Listeneintraege.java wo ich folgende Methode habe :

    public static final String CREATE_TABLE =
    "create table "+TABLE_NAME+"( "+
    Columns._ID + " integer primary key autoincrement, "+
    Columns.LISTE + " integer, "+
    Columns.EINTRAG + " text, "+
    Columns.SORTIERUNG + " integer, "+
    ")";


    Und in meiner TodoListEditActivity hatte ich:

    Cursor cursor = managedQuery(listenEintraegeContentUri, new String[] { ListenEintraege.Columns._ID, ListenEintraege.Columns.EINTRAG}, "", null, ListenEintraege.Columns.SORTIERUNG );

    Habe die jetzt erweitert weil er mir ja den Fehlercode angezeigt hatte wie ich oben geschildert hatte mit:

    Cursor cursor = managedQuery(listenEintraegeContentUri, new String[ ] { ListenEintraege.Columns._ID, ListenEintraege.Columns.LISTE,ListenEintraege.Columns.EINTRAG}, "", null, ListenEintraege.Columns.SORTIERUNG );

    Dachte müsste vielleicht alle Attribute berücksichtigen und er mir dadurch no such columns angezeigt hat, jedoch klappt es immernoch nicht, über jede Hilfe wäre ich sehr dankbar...

    Der ursprüngliche Beitrag von 18:32 Uhr wurde um 19:08 Uhr ergänzt:

    Hab es soebend probiert wie du es mir aufgezeigt hast, hat jedoch nicht geklappt..zeigt mir immernoch diesen fehler an:

    "android.database.sqlite.SQLiteException: no such column: sortierung: , while compiling: SELECT _id, eintrag, sortierung FROM ListenEintraege WHERE (liste=1) ORDER BY sortierung"

    schade..mano :( bin am verzweifeln..
     
  4. Micka, 18.06.2012 #4
    Micka

    Micka Erfahrener Benutzer

    Beiträge:
    173
    Erhaltene Danke:
    1
    Registriert seit:
    30.12.2011
    Das ist richtig. Hat deine Tabelle überhaupt eine Spalte “ sortierung“?
     
  5. jayjo2012, 18.06.2012 #5
    jayjo2012

    jayjo2012 Threadstarter Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    18.06.2012
    Hey Micka,

    ehm wie welche Tabelle meinste denn..ist es eigentlich relevant das mit der sortierung bzw sinnvoll könnte man eigentlich logischerweise dann auch weglassen oder ?

    Glaube wäre sinnvoll wenn ich dir mal meine datei maile oder so hättest es ja dann vor dir..
     
  6. Micka, 18.06.2012 #6
    Micka

    Micka Erfahrener Benutzer

    Beiträge:
    173
    Erhaltene Danke:
    1
    Registriert seit:
    30.12.2011
    Wenn jemand anders es dir löst ist dir nicht geholfen. Beim programmieren ist Erfahrung sammeln super wichtig. Wenn ich morgen Am Pc bin guck ich mir deine Datei nochmal an, aber kann nichts versprechen. Bin auch noch relativ frisch auf dem Android Markt. Ich würde dir aber ein Bixh empfehlwn, oder Tutorials, damit lernt man schnell. Aber verstehen, nicht kopieren. Ich kann dir Androidbuch.de empfehlen, damit habe ich den Einstieg gefunden. Dort wird eine Beispiel App mit Code erklärt, Die erste Auflage gibts dort kostenlos als PDF Download.
     
  7. jayjo2012, 18.06.2012 #7
    jayjo2012

    jayjo2012 Threadstarter Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    18.06.2012
    Hey Mika :)
    Ich habe ein videotutorial von Galileo das neue Apps entwickeln mit android 4.0, sowie nen kleines Buch. Klar ist es ja auch das was ich möchte die Erfahrung sammeln, doch nirgends ist es wirklich gut erklärt detailliert hinsichtlich des SQ-Lites. Momentan komme ich da leider bisher noch nicht weiter :)
     
  8. Micka, 18.06.2012 #8
    Micka

    Micka Erfahrener Benutzer

    Beiträge:
    173
    Erhaltene Danke:
    1
    Registriert seit:
    30.12.2011
    Im Androidbuch wird, das recht gut erklärt, habs da auch verstanden. Hast du MySql und Java Erfahrung?
     
  9. Micka, 19.06.2012 #9
    Micka

    Micka Erfahrener Benutzer

    Beiträge:
    173
    Erhaltene Danke:
    1
    Registriert seit:
    30.12.2011
    Wenn du möchtest häng mal dein Project gezipped an einen Beitrag, dann gucke ich gerne mal ob ich dir weiterhelfen kann.
     
  10. jayjo2012, 19.06.2012 #10
    jayjo2012

    jayjo2012 Threadstarter Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    18.06.2012

    Super ich danke dir für deine Mühe, habe es hier gezipped hinzugefügt..hoffe das es klappt :)
     
    Zuletzt bearbeitet: 21.06.2012
  11. Micka, 19.06.2012 #11
    Micka

    Micka Erfahrener Benutzer

    Beiträge:
    173
    Erhaltene Danke:
    1
    Registriert seit:
    30.12.2011
    Okay, gucke morgen Mittag mal rein.
     
  12. Micka, 20.06.2012 #12
    Micka

    Micka Erfahrener Benutzer

    Beiträge:
    173
    Erhaltene Danke:
    1
    Registriert seit:
    30.12.2011
    Kann es sein das du etwas vergessen hast?

    import de.androidhausarbeit.todoListLibrary.Speech.Dictate; cannot be resolved

    Der ursprüngliche Beitrag von 06:27 Uhr wurde um 06:52 Uhr ergänzt:

    Hy, ich würde die Änderungen gern selbst vornehmen, aber wenn ich ehrlich bin hab ich jetzt nicht die Zeit mich in den kompletten Code einzulesen um zu sehen wo ich was ändere. Denke du findest die stellen wohl ohnehin schneller.


    Wenn ich dein Projekt starte kommt erstmal folgendes
    Das sollte sich schnell beheben lassen, das , zum Schluß der Klammer ist falsch.
    create table ListenEintraege( _id integer primary key autoincrement, liste integer, eintrag text, sortierung integer) wäre als sql Statement okay

    return dbhelper.getReadableDatabase().query(Liste.TABLE_NAME, projection, selection, selectionArgs, null, null, sortOrder);
    ich würde besser ein cursor zurückgeben, mit dem cursor kannst du dann ganz bequem weiterarbeiten. Laut Exception wird dort ein onUpgrade ausgeführt, dafür musst du aber eine getWriteableDatabase() nehmen

    wenn das geändert ist und weitere Probleme auftauchen guck ichs mir gern nochm an. Einfach schreiben und die aktuelle Version anhängen
     
  13. jayjo2012, 21.06.2012 #13
    jayjo2012

    jayjo2012 Threadstarter Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    18.06.2012
    Hey hey danke dir..hab vorhin den Fehler gefunden...Problem war ich musste die datei im ddms raushauen und wieder neu laden, weil ich ja Änderungen im Create-Table gemacht hatte...

    Es ist kurz vor dem Laufen, habe jedoch kurz vorm Ende folgenden Fehler:

    "E/AndroidRuntime(10142): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.androidhausarbeit.todoList/de.androidhausarbeit.todoList.ToDoListEditActivity}: java.lang.IllegalArgumentException: Unknown URI: content://de.androidhausarbeit.todoList/listen/3"

    Verstehe aber nicht warum, denn in der TodoListEditActivity unter
    private void eintragErstellen( ) {
    ....

    habe ich doch richtig : "
    Uri listenEintraegeContentUri = Uri.withAppendedPath(contentUri,
    ListenEintraege.CONTENT_DIRECTORY);

    und damit doch das Verzeichnis der Listeneinträge richtig deklariert oder nicht... oder weißt du wo der Fehler da liegt?!

    Danke dir :)
     
  14. Micka, 21.06.2012 #14
    Micka

    Micka Erfahrener Benutzer

    Beiträge:
    173
    Erhaltene Danke:
    1
    Registriert seit:
    30.12.2011
    Hey, tut mir leid mit Uri habe ich noch nie gearbeitet. Ich mach das immer über Intent Extras. Aber da kao.n dir jemand anders bestimmt weiterhelfen.
     

Diese Seite empfehlen