
Database name is passed in constructor call. So SQLiteOpenHelper class call the onCreate() method after creating database and instantiate SQLiteDatabase object. It will be called whenever there is a first call to getReadableDatabase() or getWritableDatabase() function available in super SQLiteOpenHelper class. OnCreate(SQLiteDatabase sqLiteDatabase)method is called only once throughout the application lifecycle. After extending SQLiteOpenHelper you will need to implement its methods onCreate, onUpgrade and constructor.

The SQLiteOpenHelper only require the DATABASE_NAME to create database. The SQLiteOpenHelper is responsible for opening database if exist, creating database if it does not exists and upgrading if required. It provides two methods onCreate(SQLiteDatabase db), onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion). SQLiteOpenHelper is a helper class to manage database creation and version management.

