사용자 이름 만있는 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;
}
관객에 더 명확하게 질문을합니다. –