public long addUser(String user, String password) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("username", user); contentValues.put("password", password); long res = db.insert("registeruser", null, contentValues); db.close(); return res; }
时间: 2024-01-15 22:03:08 浏览: 62
这段代码是在Android中使用SQLite数据库进行数据存储时,添加新用户记录的方法。
首先,通过调用getWritableDatabase()方法获取可写的数据库对象。然后,创建一个ContentValues对象,用于存储需要添加的记录,将用户名和密码分别存储到ContentValues对象中。接着,调用insert()方法,将ContentValues对象中的数据插入到"registeruser"表中。在执行插入操作后,会返回一个长整型的数值,表示插入新记录的行号。最后,通过调用close()方法关闭数据库连接,并返回插入记录的行号。
在实际编程中,可以通过调用这个方法来将用户注册时输入的用户名和密码添加到数据库中,以便后续进行登录验证等操作。
相关问题
在Androidstudio中建立user数据库,并且完成用户输入账号和密码后,在数据库中进行查找,如果账号对应,则进行跳转,帐号不对应,则提示失败
首先,您需要在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();
}
```
这些代码将允许您创建一个用户数据库,在用户登录时验证用户名和密码,并根据结果进行相应的操作。
阅读全文