Ich bin im Grunde eine Anwendung, die ich (meine allererste!) Entwickeln, mit Ausnahme der Implementierung von Daten speichern Mechanismus. Ich habe mir vor einiger Zeit die Optionen angeschaut und festgestellt, dass die SQLiteDatabase die beste Lösung ist, aber es war schwierig, genau zu verstehen, wie genau es implementiert werden sollte. Also verließ ich es, bis ich den Rest des Programms beendet hatte. Seitdem habe ich es getestet, indem ich jedes Mal, wenn ich es auf meinem Gerät starte, alle Werte neu eingib.Wo/Wie SQLiteDatabase und AsyncTask in TabActivity zu implementieren
Die App beginnt mit nichts auf dem Bildschirm. Der Benutzer fügt Spieler hinzu (über das Menü und einen Dialog). Sobald die Spielerliste finalisiert ist, klickt der Benutzer auf "Speichern" im Dialog. Dann wird eine Tabellenreihe für jeden Spieler dynamisch aufgebläht und enthält einen Button, einige ImageViews und eine TextView, die alle Attribute jedes Players anzeigen. Das ist für meine Frage nicht wirklich wichtig.
Also wird meine Anwendung im Grunde nur Spieler Objekte verfolgen. Ich habe das Datenbankobjekt alle mit diesem Leitfaden erstellt: http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/, "Kontakte" für "Spieler" zum größten Teil tauschen.
Was ich habe Schwierigkeiten zu verstehen ist, wo genau das "Speichern" und "Laden" jedes Spieler-Objekts, sowie was in den onCreate, onResume und onStop Methoden der Aktivität zu tun ist zu implementieren. Ich habe das schon seit vielen Stunden untersucht, und ich habe gelernt, dass ich auch eine AsyncTask implementieren sollte, aber das ist noch komplizierter und ich kann nicht einmal die grundlegenden Daten in mein Gehirn laden, geschweige denn asynchron .
Es gibt ein gutes Beispiel für die Implementierung von AsyncTask und SQLiteDatabase in einem Buch namens "Android for Programmers: Ein App-Driven Approach" in der Deitel Developer Series, aber in ihrem Beispiel verwenden sie einen CursorAdapter in eine ListActivity, also weiß ich nicht, wie ich es für meine Situation anwenden kann. (Meine ist eine TabActivity, was ich oben erklärt habe, ist nur für einen "View Players" Tab.)
Es macht für mich Sinn, Spieler der Datenbank hinzuzufügen, wenn der Benutzer im Dialog "Spieler hinzufügen" auf "Speichern" klickt, "Aber ich verstehe nicht, wo die Player-Objekte neu geladen werden und wo die Tabellenzeile jedes Players neu angelegt wird.
Es tut mir leid, ich poste keinen Code, um genauer zu sein, aber es ist eher eine allgemeine Frage, und ich würde lieber nicht meine gesamte App veröffentlichen, da es etwa tausend Zeilen lang ist. Jede Hilfe würde sehr geschätzt werden, ich versuche nicht, jedes kleine Ding hier zu posten, aber dieses Zeug hat mich zu lange frustriert!
Hallo, danke für die Antwort. Ich mache mir keine Sorgen, dass sich das Telefon dreht, da es im Manifest auf "Porträt" eingestellt ist. Ich mache mir mehr Sorgen darüber, wo ich jedes Stück Code ablegen soll. Ich weiß, wo ich Dinge "speichern" soll, aber ich weiß nicht, wie ich jedes Mal, wenn der Benutzer die App neu startet, alles neu lade, insbesondere in Bezug auf onCreate(), onResume(), onStop() usw. Diese Methoden verwende ich immer noch nicht verstehe nicht vollständig, wenn es um gespeicherte Informationen geht, um den Zustand wiederherzustellen usw. –
Außerdem habe ich die AsyncTaskLoader-Dokumente ausgecheckt, mit denen Sie verknüpft sind. Es heißt, dass sie in Android 3.0 eingeführt wurden, also kann ich sie nicht verwenden, da meine App (und mein Telefon) für API 8+ sind. –
Sie können! Sie sind im Kompatibilitätspaket, also können Sie sie für API 7+ verwenden, wenn ich mich gut erinnere –