我目前正在编写登录活动的代码。 我想测试一下用户输入的用户名是否在数据库中。到目前为止我有......
EditText email = (EditText) findViewById(R.id.tf_email);
EditText pass = (EditText) findViewById(R.id.tf_password);
String username = email.getText().toString();
String password = pass.getText().toString();
DBAdapter db = new DBAdapter(this);
db.open();
Cursor u = db.getAllUsers();
if (username = .....)
//The getAllUsers is in the DBAdapter.java file.
public Cursor getAllUsers()
{
return db.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_USERNAME}, null, null, null, null, null);
}
提前谢谢。
答案 0 :(得分:0)
由于db.getAllUsers
返回Cursor
对象,您需要遍历它以获取数据库中的所有用户列表,如下所示:
ArrayList<String> someUsers = new ArrayList<String>();
if (u.moveToFirst()) {
do {
String aUser = u.getString(u.getColumnIndex(KEY_USERNAME));
someUsers.add(aUser);
} while (u.moveToNext());
}
然后,您应该检查用户输入的用户名是否在生成的列表中。
if (someUsers.contains(username)) {
// do stuff
} else {
// do something else
}