Android studio连接sqlite实现登录注册的代码
时间: 2024-05-09 18:21:39 浏览: 12
以下是一个简单的Android Studio连接SQLite实现登录注册的代码示例:
1.创建一个SQLiteOpenHelper类
```java
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "user.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "user";
private static final String USER_ID = "id";
private static final String USER_NAME = "name";
private static final String USER_PASSWORD = "password";
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "("
+ USER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ USER_NAME + " TEXT,"
+ USER_PASSWORD + " TEXT" + ")";
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
```
2.创建一个User类
```java
public class User {
private int id;
private String name;
private String password;
public User(int id, String name, String password) {
this.id = id;
this.name = name;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
```
3.创建一个UserDAO类
```java
public class UserDAO {
private DBHelper dbHelper;
private SQLiteDatabase db;
public UserDAO(Context context) {
dbHelper = new DBHelper(context);
db = dbHelper.getWritableDatabase();
}
public void addUser(User user) {
ContentValues values = new ContentValues();
values.put(DBHelper.USER_NAME, user.getName());
values.put(DBHelper.USER_PASSWORD, user.getPassword());
db.insert(DBHelper.TABLE_NAME, null, values);
}
public boolean checkUser(String name, String password) {
String[] columns = {DBHelper.USER_ID};
String selection = DBHelper.USER_NAME + "=?" + " and " + DBHelper.USER_PASSWORD + "=?";
String[] selectionArgs = {name, password};
Cursor cursor = db.query(DBHelper.TABLE_NAME, columns, selection, selectionArgs, null, null, null);
int count = cursor.getCount();
cursor.close();
db.close();
if (count > 0) {
return true;
} else {
return false;
}
}
}
```
4.在MainActivity中实现登录注册
```java
public class MainActivity extends AppCompatActivity {
private EditText etName;
private EditText etPassword;
private Button btnLogin;
private Button btnRegister;
private UserDAO userDAO;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etName = (EditText) findViewById(R.id.et_name);
etPassword = (EditText) findViewById(R.id.et_password);
btnLogin = (Button) findViewById(R.id.btn_login);
btnRegister = (Button) findViewById(R.id.btn_register);
userDAO = new UserDAO(this);
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = etName.getText().toString();
String password = etPassword.getText().toString();
if (userDAO.checkUser(name, password)) {
Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "用户名或密码不正确", Toast.LENGTH_SHORT).show();
}
}
});
btnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = etName.getText().toString();
String password = etPassword.getText().toString();
User user = new User(0, name, password);
userDAO.addUser(user);
Toast.makeText(MainActivity.this, "注册成功", Toast.LENGTH_SHORT).show();
}
});
}
}
```
以上就是一个简单的Android Studio连接SQLite实现登录注册的代码示例。