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
は静的ではない必要があります。
どこが間違っていたのですか?