write parallel to database
File databasePath = getDatabasePath("my_database1");
if(!databasePath.getParentFile().exists()) {
databasePath.getParentFile().mkdirs();
}
int flags = SQLiteDatabase.CREATE_IF_NECESSARY;
if(walModeEnabled) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
flags = flags | SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING;
}
}
SQLiteDatabase db = SQLiteDatabase.openDatabase(databasePath.getPath(), null, flags);
// backward compatibility hack to support WAL on pre-jelly-bean devices
if(walModeEnabled) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB &&
Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
db.enableWriteAheadLogging();
} else {
Log.w(TAG, "WAL is not supported on API levels below 11.");
}
}