我想仅使用用户名在Android中使用登录系统。下面的代码只适用于第一行(例如我的数据库有名字:1- Joseph 2 - Najib,如果我输入Joseph它工作正常,但是如果我输入Najib或其他值不存在于我的DB程序显然不断循环,不respond..How我可以纠正这个代码返回消息(无论是用户名在DB或无效的用户名是)相应吗?我有while语句中的错误?用户登录Sqlite?
public void checklogin() {
DatabaseHelper dbh = new DatabaseHelper(LoginActivity.this);
DatabaseAdapter dba = new DatabaseAdapter(LoginActivity.this);
db = dbh.getWritableDatabase();
TextView usernametry = (TextView) findViewById(R.id.usernametry);
String usertry = usernametry.getText().toString();
String[] allColumnsofuserstable = { dba.COLUMN_ID, dba.COLUMN_NAME,
dba.COLUMN_AGE, dba.COLUMN_GENDER, dba.COLUMN_WEIGHT,
dba.COLUMN_HEIGHT, dba.COLUMN_CALORIES };
Log.d("TAG", usertry);
Cursor mCursor = db.query(dba.TABLE_USERS,
new String[] { dba.COLUMN_NAME }, null, null, null, null, null,
mCursor.moveToNext();
while (!mCursor.isAfterLast()) {
String k = mCursor.getString(0);
if (k.equalsIgnoreCase(usertry)) {
Toast.makeText(LoginActivity.this,
"Logged in as " + mCursor.getString(0).toString(),
Toast.LENGTH_LONG).show();
mCursor.moveToNext();
} else
Toast.makeText(LoginActivity.this, "invalid username",
Toast.LENGTH_LONG).show();
}
mCursor.close();
dbh.close();
return;
}
让你的问题更清晰的观众。 – 2012-04-23 21:12:24