android studio 一个完整的注册登录代码
时间: 2023-07-28 22:12:10 浏览: 51
以下是一个简单的Android Studio注册登录代码示例:
```
public class MainActivity extends AppCompatActivity {
private EditText etUsername, etPassword;
private Button btnRegister, btnLogin;
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etUsername = findViewById(R.id.et_username);
etPassword = findViewById(R.id.et_password);
btnRegister = findViewById(R.id.btn_register);
btnLogin = findViewById(R.id.btn_login);
// 创建数据库
db = openOrCreateDatabase("user.db", Context.MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS user(username VARCHAR, password VARCHAR)");
// 注册按钮监听器
btnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = etUsername.getText().toString().trim();
String password = etPassword.getText().toString().trim();
if (TextUtils.isEmpty(username) || TextUtils.isEmpty(password)) {
Toast.makeText(MainActivity.this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
return;
}
// 判断用户是否已经存在
Cursor cursor = db.rawQuery("SELECT * FROM user WHERE username=?", new String[]{username});
if (cursor.moveToFirst()) {
Toast.makeText(MainActivity.this, "该用户已存在", Toast.LENGTH_SHORT).show();
} else {
// 插入用户信息
db.execSQL("INSERT INTO user(username, password) VALUES(?,?)", new String[]{username, password});
Toast.makeText(MainActivity.this, "注册成功", Toast.LENGTH_SHORT).show();
}
cursor.close();
}
});
// 登录按钮监听器
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = etUsername.getText().toString().trim();
String password = etPassword.getText().toString().trim();
if (TextUtils.isEmpty(username) || TextUtils.isEmpty(password)) {
Toast.makeText(MainActivity.this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
return;
}
// 判断用户名和密码是否匹配
Cursor cursor = db.rawQuery("SELECT * FROM user WHERE username=? AND password=?", new String[]{username, password});
if (cursor.moveToFirst()) {
Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
}
cursor.close();
}
});
}
}
```
其中,`etUsername`和`etPassword`分别是用于输入用户名和密码的EditText控件,`btnRegister`和`btnLogin`分别是用于注册和登录的Button控件。在`onCreate()`方法中,我们创建了一个名为`user.db`的SQLite数据库,并创建了一个名为`user`的表,该表有两个字段:`username`和`password`。在注册按钮的监听器中,我们首先判断用户输入的用户名和密码是否为空,然后查询数据库中是否已经存在该用户,如果不存在,则将用户信息插入到数据库中;否则,提示用户该用户已存在。在登录按钮的监听器中,我们同样判断用户输入的用户名和密码是否为空,然后查询数据库中是否存在该用户并且用户名和密码是否匹配,如果匹配,则提示用户登录成功;否则,提示用户用户名或密码错误。
需要注意的是,这只是一个简单的注册登录示例,实际应用中还需要考虑更多的安全性和用户体验问题。