Androidのデータベースでデータを保存しようとしています。
いくつかの例で見たように、データベースを処理するクラスを作成しました。
public class MyDatabase extends SQLiteOpenHelper
{
    private Table users;
    public MyDatabase(Context context)
    {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
    public void onCreate(SQLiteDatabase db)
    {
        users.CreateTable();
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {
    }
}
しかし、変数を初期化しようとするとusers、次のようになります。
users = new Table(getWritableDatabase());
私は取得NullPointerExceptionし、それはメートルではありません...私は試しました:
    public MyDatabase(Context context)
    {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        users = new Table(getWritableDatabase());
    }
と
    public void onCreate(SQLiteDatabase db)
    {
        users = new Table(getWritableDatabase());
        users.CreateTable();
    }
しかしNullPointerException、関数を呼び出すと、まだ取得されますgetWritableDatabase()。
初期値を設定するため、関数CreateTableは静的ではない必要があります。
どこが間違っていたのですか?