In meinem Buch "Hallo Android" können Sie einen benutzerdefinierten Datenbank-Helfer verwenden, einen Cursor einrichten und anschließend einen Adapter wie folgt einrichten:
Cursor cursor
CustomDatabaseHelper test = new CustomDatabaseHelper(this);
try {
cursor = getData();
showData(cursor);
} finally {
test.close();
}
Damit muss ich jedoch jedes Mal, wenn ich den Datensatz aktualisieren muss, diesen Codeblock weiter ausführen (was in einem onClick () für eine Schaltfläche etwas schwierig wird, da "dies" nicht verfügbar ist.
Ist dies der beste Weg, um den Datensatz zu aktualisieren, oder sollte ich versuchen, die .close zu entfernen und einen adapter.notifyDataSetChanged () auszugeben? Wenn ich das mache, bekomme ich manchmal eine Kraft in der Nähe von (und ich kann mich im Moment nicht erinnern), aber manchmal kann sie nicht richtig gelöscht werden - ich denke, das liegt möglicherweise daran, dass die Datenbank gerade geöffnet ist und versucht, sie erneut zu öffnen.
Sollten wir auch die Variablen für die Cursor, DatabaseHelpers und Adapter in der Klasse (außerhalb von OnCreate) deklarieren, damit sie für alle Funktionen zugänglich sind?
Mir ist klar, dass dies zu diesem Zeitpunkt nur eine schlechte Programmierung ist, aber ich versuche, einige Hinweise zu bekommen, wie man die Dinge am besten macht.