Android applications usually do not need to start with a preloaded database file. Usually, the application will rely on a web service to persist such data. And when it needs, it asks the web service for the data it needs. The use of SQLiteOpenHelper fits well with such use case. But in the rare situations when the application needs to start with a pre-loaded database, you have to manipulate the SQLiteOpenHelper to play nicely.