Here is my solution.
public class DataProvider extends ContentProvider { private DataDbHelper dbHelper; @Override public boolean onCreate() { // nothing here return true; } private DataDbHelper getDbHelper() { if (dbHelper== null) { // initialize dbHelper = new DataDbHelper(getContext()); } else if (dbHelper.getReadableDatabase().getVersion() != DataDbHelper.VERSION) { // reset dbHelper.close(); dbHelper = new DataDbHelper(getContext()); } return this.mOpenHelper; } }
query(), insert(), update(), delete() use getDbHelper() to get SQLiteDatabase
The full code for my Android app is available here if you need more information.
mmathieum
source share