这里是我的registration class,正在尝试将用户添加到数据库中。但是,使用静态和非静态方法会出错。如果我将.addUser设为静态,则.getWritableDatabase()显示错误。
我该如何解决?
这里是DatabaseHelper类中的addUser方法:
public void addUser(User user) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_USER_NAME, user.getName());
values.put(COLUMN_USER_EMAIL, user.getEmail());
values.put(COLUMN_USER_PASSWORD, user.getPassword());
db.insert(TABLE_USER, null, values);
db.close();
}
您获得DatabaseHelper类的实例,并使用非静态方法。
例如
public Registration extends AppCompatActivity {
DatabaseHelper mDBHelper; //Declare the DatabaseHelper object
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_layout);
mDBHelper = new DatabaseHelper(this); //<<<< Instantiate mDBHelper
.........
public void onClick(View v) {
........
} else {
mDBHelper.adduser(user); //<<<< Use the DatabaseHelper instance
}
}
}