Prawidłowe użycie Sqlite na Androidzie (SQLiteOpenHelper, połączenia, główny wątek, itp…) [zamknięte]
Wyszukuję informacje o SQLite na Androidzie i czytam niektóre rozdziały niektórych książek na temat programowania Android, ale nie wiem, jak naprawdę poprawnie używać SQLite na Androidzie.
Zajmuję się tworzeniem aplikacji, która ma działania, usługi i odbiorniki transmisji, a wszystkie z nich muszą odczytywać i zapisywać dane w bazie danych. Mam kilka pytań:
Gdzie jest najlepsze miejsce do tworzeniaSQLiteOpenHelper
instancja? Czytałem o tym i wydaje się, że najlepszym sposobem jest mieć tylkoSQLiteOpenHelper
dla całej aplikacji.Kiedy i gdzie muszę się dostaćSQLiteDatabase
obiekt przez wywołaniedbHelper.getReadableDatabase()
(lubgetWritableDatabase
)? Muszę to zrobić przy każdym zapytaniu, zamykając je po każdym zapytaniu?Czytałem, że nigdy nie powinienem wykonywać operacji na bazach danych w głównym wątku, dlatego tworzę zadanie asynchroniczne dla każdej operacji bazy danych, którą wykonuję w działaniu, czy jest to najlepszy sposób?