SQLiteOpenHelper falha ao chamar onCreate?

Estou tentando criar um banco de dados local em um telefone Android usandosqlite.

Eu tenho uma classe auxiliar, mostrada abaixo, usada para criar o banco de dados e fornecer a "ajuda".

Eu estou querendo criar um objeto desta classe na parte principal do meu código e criar o banco de dados e tabelas lá também.

O problema:

Sempre que crio um objeto da classe, ele não parece chamar oonCreate método no ajudante. Eu pensei que isso deveria acontecer. Eu pensei queonCreate foi basicamente um construtor para a classe. (Eu acredito que estou errado)

Então, por que não está chamando oonCreate método?Ou como faço para criar o banco de dados e as tabelas em que estou criando o objeto da classe?Qual seria a melhor maneira de fazer isso, se essa não for uma boa abordagem?
public class SmartDBHelper extends SQLiteOpenHelper {

    private static final String DATABASE_NAME = "smart_lite_db.db";
    private static final int DATABASE_VERSION = 2;
    private static final String NOTIFY_TABLE_NAME = "user_notify_data";
    private static final String HR_TABLE_NAME = "user_hr_data";
    private static final String NOTIFY_TABLE_CREATE = 
        "CREATE TABLE " + NOTIFY_TABLE_NAME + 
        " (counter INTEGER PRIMARY KEY, " + 
        "userresponse INTEGER, " + 
        "notifytime INTEGER);";
    private static final String DATA_TABLE_CREATE = 
        "CREATE TABLE " + HR_TABLE_NAME +
        " (counter INTEGER PRIMARY KEY, " +
        "hr INTEGER, " +
        "act INTEGER, " +
        "timestamp INTEGER);";      

    public SmartDBHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        // TODO Auto-generated constructor stub
    }


    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        Log.v("smartdbhelper", "before creation");
        db.execSQL(NOTIFY_TABLE_CREATE);
        Log.v("smartdbhelper", "middle creation");
        db.execSQL(DATA_TABLE_CREATE);
        Log.v("smartdbhelper", "after creation");
    }


    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

    }

}
public class SmartApp extends Activity implements OnSharedPreferenceChangeListener {
   private SmartDBHelper dBHelper;
   public void onCreate(Bundle savedInstanceState) {
      //where i am wanting to create the database and tables
      dBHelper = new SmartDBHelper(getContext());
   }
}

questionAnswers(3)

yourAnswerToTheQuestion