SQLite Zugriff mit Samsung Galaxy Tab 2 macht probleme

  • Antworten:2
Michael H
  • Forum-Beiträge: 127

25.09.2012, 15:29:22 via Website

Hallo zusammen

Habe heute meine App auf einem Samsung Galaxy Tab 2 mit Android 4.0.3 getestet.
Dabei kommt immer nach wenigen Sekunden folgende Exception:

1sqlite3_exec - Failed to set synchronous mode = 1(Normal)
2Failed to open the database. closing it.
3android.database.sqlite.SQLiteDatabaseLockedException: database is locked
4.....

Bezüglich ThreadSafe etc.. bin ich vertraut. 1 Thread schreibt alle 30sec ein Record in die Datenbank und der 2. Thread holt alle 20sec die Einträge raus. Die DB-Instanzen schliesse ich auch wieder nachdem ich geschrieben/gelesen habe. Dieser Vorgang sollte ja eigentlich keine Probleme bereiten...

Komisch ist dass das ganze unter allen anderen Geräten, auf welchen ich getestet habe (Samsung Galaxy SII (Android 4.0.3), Samsung Galaxy ACE (Android 2.3.6), Google Nexus (Android 4.1)) funktioniert hat!

Hat jemand eine Erklärung dafür?

Gruss Michi

— geändert am 25.09.2012, 17:10:55

Antworten
Gelöschter Account
  • Forum-Beiträge: 694

25.09.2012, 18:30:28 via Website

Wie ich schon in unserem anderen Thread mal empfohlen habe würde ich auf eine zentrale Instanz der Datenbank umschwenken. Das tut nicht weh.

Die Instanz von Deinem SQLIteOpenHelper wird hierzu einmalig in einer Subclass von Application verwaltet. Ich mache das mit jeder App so. Du findest das nach wie vor in den Code Snippets ein paar Bretter weiter.

Antworten
Michael H
  • Forum-Beiträge: 127

26.09.2012, 10:15:40 via Website

Funktioniert super!
Michael, nächstes Mal die snippets besser studieren! :-)
Vielen Dank

Antworten