1.用户实体类
package com.example.environmentmonitor.entity;
public class User {
private String userId;
private String username;
private String password;
public User(String userId,String username, String password) {
this.userId=userId;
this.username=username;
this.password=password;
}
public User() {
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
2.SQLiteOpenHelper类
package com.example.environmentmonitor.database;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import androidx.annotation.Nullable;
public class DatabaseOpenHelper extends SQLiteOpenHelper {
public DatabaseOpenHelper(@Nullable Context context) {
super(context, DatabaseConstant.DATABASE_MY_APP, null, DatabaseConstant.VERSION_CODE);
Log.d(DatabaseConstant.TAG,"创建数据库");
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
Log.d(DatabaseConstant.TAG,"创建数据库时回调");
String userSql="CREATE TABLE "+DatabaseConstant.T_USER+" (\n" +
" user_id VARCHAR(50) not null primary key,\n" +
" username VARCHAR(100) not null,\n" +
" password VARCHAR(100) not null)";
sqLiteDatabase.execSQL(userSql);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
Log.d(DatabaseConstant.TAG,"升级数据库时回调");
}
}
3.数据库名常量类
package com.example.environmentmonitor.database;
public interface DatabaseConstant {
String DATABASE_MY_APP="monitor_system.db";
int VERSION_CODE= 1;
String TAG="DatabaseOpenHelper";
String T_USER="t_user";
}
4.数据库增删改查方法封装
package com.example.environmentmonitor.dao;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import com.example.environmentmonitor.database.DatabaseConstant;
import com.example.environmentmonitor.database.DatabaseOpenHelper;
import com.example.environmentmonitor.entity.User;
import java.sql.PreparedStatement;
import java.util.UUID;
public class UserDAO {
private final DatabaseOpenHelper databaseOpenHelper;
public UserDAO(Context context){
databaseOpenHelper=new DatabaseOpenHelper(context);
databaseOpenHelper.getWritableDatabase();
}
public void insert(User user){
SQLiteDatabase sqLiteDatabase=databaseOpenHelper.getWritableDatabase();
String insertSql="INSERT INTO "+ DatabaseConstant.T_USER+" (user_id,username,password)" +
"VALUES ('"+user.getUserId()+"','"+user.getUsername()+"','"+user.getPassword()+"')";
sqLiteDatabase.execSQL(insertSql);
sqLiteDatabase.close();
}
public User getUserByUsernameAndPassword(String username,String password){
SQLiteDatabase sqLiteDatabase=databaseOpenHelper.getWritableDatabase();
String sql="SELECT username,password FROM t_user WHERE username='"+username+"' AND password='"+password+"'";
Cursor cursor=sqLiteDatabase.rawQuery(sql,null);
User user=new User();
if(cursor != null && cursor.getCount() > 0){
cursor.moveToFirst();
user.setUsername(cursor.getString(0));
user.setPassword(cursor.getString(1));
sqLiteDatabase.close();
}else {
user=null;
}
return user;
}
public User getUserByUsername(String username){
SQLiteDatabase sqLiteDatabase=databaseOpenHelper.getWritableDatabase();
String sql="SELECT user_id,username,password FROM t_user WHERE username = '"+username+"'";
Cursor cursor=sqLiteDatabase.rawQuery(sql,null);
User user=new User();
if (cursor != null && cursor.getCount() > 0)
{
cursor.moveToFirst();
user.setUserId(cursor.getString(0));
user.setUsername(cursor.getString(1));
user.setPassword(cursor.getString(2));
sqLiteDatabase.close();
}else {
user=null;
}
return user;
}
public void modifyUserPassword(User user){
SQLiteDatabase sqLiteDatabase=databaseOpenHelper.getWritableDatabase();
String sql="UPDATE t_user SET password='"+user.getPassword()+"' WHERE username='"+user.getUsername()+"'";
sqLiteDatabase.execSQL(sql);
sqLiteDatabase.close();
}
public void deleteUserByUsername(String username){
SQLiteDatabase sqLiteDatabase=databaseOpenHelper.getWritableDatabase();
String sql="DELETE FROM t_user WHERE username="+username;
sqLiteDatabase.execSQL(sql);
sqLiteDatabase.close();
}
}
5.界面设计
5.1 登录页面
5.2 注册界面
5.3 修改密码界面
6. 源码下载地址:
https://download.csdn.net/download/Tian208/85130863