I'm working for a company that specializes in custom software development. Challenges are part of my daily routine and once I thought I want to share what my team has learned so far. You can find my thoughts here: http://cases.azoft.com/avoiding-data-corruption-in-sqlite/
In a nutshell:
When it comes to Android application development, it’s often desirable to ensure the app is compatible with older versions of the Android OS. A customer has recently asked us to make an application while keeping backward compatibility down to SDK version 2.1 (API level 7). While working on that project, we encountered a problem: the built-in SQLite version 3.5.9 had a known bug that appeared under certain conditions. Incidentally, SQLite caused the application to crash due to a "database disk image is malformed" error and the entire database was rendered unusable. We didn't find a solution for this problem on the web, so we created the following workaround after some experimenting.
Hope it's useful. Feel free to ask, suggest, and comment here or on the article page.