注册用户时出现非静态方法错误

问题描述 投票:0回答:1

这里是我的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();
}
database sqlite registration
1个回答
0
投票

您获得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 
            }
        }
}
© www.soinside.com 2019 - 2024. All rights reserved.