Hej, ja jag kör redan flertrådat. Problemet är att SQLite är en lokal databas och inte i första hand designad för flertrådad access. Först hade jag problem pga att jag använde olika DbHelpers som båda ville låsa på databas-filen på filsystemet.
Så istället skapade jag en ContentProvider så nu får jag en och samma SQLiteDbHelper oavsett vart i applikationen jag ansluter till databasen.
På vägen har jag fått problem med att databasen inte stängs (resursläckor), men även det har jag hittat en workaround på, berodde på en begränsning i Androids ContentProvider API.
När jag skrev det ovan så hade jag problem med att applikationen hängde sig, det visade sig att det hade med transaktioner som inte hade stängts att göra. Så det fungerar lite bättre nu.
Största utmaningen är att det just är flertrådat, det är ett helsike att förstå vad som faktiskt händer.
En del av att det tagit så mycket tid är att jag gjorde refactoring på fel sätt, jag lade in ett lager mitt i för att använda en contentprovider istället för direktaccess till DbHelpern. Alldeles för stor förändring!
Skulle satt upp en parallell uppsättning och migrerat över succesivt. Men det är lätt att vara efterklok.

Click to expand...