我想僅使用用戶名在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