在Androidstudio中建立user数据库,并且完成用户输入账号和密码后,在数据库中进行查找,如果账号对应,则进行跳转,帐号不对应,则提示失败
时间: 2024-03-25 10:40:38 浏览: 214
首先,您需要在Android Studio中创建一个SQLite数据库。可以使用以下代码创建名为user的数据库并添加名为userInfo的表:
```
public class UserDbHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "user.db";
private static final int DATABASE_VERSION = 1;
public UserDbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
final String SQL_CREATE_USERINFO_TABLE = "CREATE TABLE " +
UserContract.UserInfoEntry.TABLE_NAME + " (" +
UserContract.UserInfoEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
UserContract.UserInfoEntry.COLUMN_USERNAME + " TEXT NOT NULL, " +
UserContract.UserInfoEntry.COLUMN_PASSWORD + " TEXT NOT NULL);";
db.execSQL(SQL_CREATE_USERINFO_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + UserContract.UserInfoEntry.TABLE_NAME);
onCreate(db);
}
}
```
接下来,您需要创建一个用于添加用户信息的方法,该方法将在用户注册时调用:
```
public void addUser(String username, String password) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(UserContract.UserInfoEntry.COLUMN_USERNAME, username);
values.put(UserContract.UserInfoEntry.COLUMN_PASSWORD, password);
db.insert(UserContract.UserInfoEntry.TABLE_NAME, null, values);
db.close();
}
```
然后,您需要创建一个用于验证用户信息的方法。该方法将在用户登录时调用:
```
public boolean checkUser(String username, String password) {
String[] columns = {
UserContract.UserInfoEntry._ID
};
SQLiteDatabase db = this.getReadableDatabase();
String selection = UserContract.UserInfoEntry.COLUMN_USERNAME + " = ?" + " AND " + UserContract.UserInfoEntry.COLUMN_PASSWORD + " = ?";
String[] selectionArgs = {username, password};
Cursor cursor = db.query(UserContract.UserInfoEntry.TABLE_NAME, columns, selection, selectionArgs, null, null, null);
int count = cursor.getCount();
cursor.close();
db.close();
if (count > 0) {
return true;
} else {
return false;
}
}
```
最后,在您的登录活动中,您可以调用该方法来验证用户信息:
```
UserDbHelper userDbHelper = new UserDbHelper(context);
boolean isValid = userDbHelper.checkUser(username, password);
if (isValid) {
// 登录成功,跳转到主界面
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
} else {
// 登录失败,提示错误信息
Toast.makeText(LoginActivity.this, "Invalid username or password", Toast.LENGTH_SHORT).show();
}
```
这些代码将允许您创建一个用户数据库,在用户登录时验证用户名和密码,并根据结果进行相应的操作。
阅读全文