android 登陆注册页面SQlite
时间: 2023-09-22 18:07:34 浏览: 45
以下是一个简单的 Android 登录注册页面实现,使用 SQLite 数据库进行数据存储和验证。请注意,这只是一个基础的实现,您可以根据自己的需求进行修改和扩展。
1. 创建一个名为 “LoginActivity” 的 Activity,并在布局文件中添加两个 EditText 和两个 Button,用于输入和提交登录信息和注册新用户信息。
2. 创建一个名为 “DatabaseHelper” 的类,继承自 SQLiteOpenHelper 类。在该类中实现数据库的创建和升级方法,并提供一些辅助方法,如添加新用户、验证用户信息等。
```java
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "UserDatabase.db";
private static final String TABLE_NAME = "users";
private static final String COLUMN_ID = "id";
private static final String COLUMN_USERNAME = "username";
private static final String COLUMN_PASSWORD = "password";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "("
+ COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ COLUMN_USERNAME + " TEXT,"
+ COLUMN_PASSWORD + " TEXT" + ")";
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
public boolean addUser(String username, String password) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_USERNAME, username);
values.put(COLUMN_PASSWORD, password);
long result = db.insert(TABLE_NAME, null, values);
return result != -1;
}
public boolean checkUser(String username, String password) {
SQLiteDatabase db = this.getReadableDatabase();
String query = "SELECT * FROM " + TABLE_NAME + " WHERE "
+ COLUMN_USERNAME + " = ? AND " + COLUMN_PASSWORD + " = ?";
Cursor cursor = db.rawQuery(query, new String[]{username, password});
boolean result = cursor.getCount() > 0;
cursor.close();
return result;
}
}
```
3. 在 LoginActivity 类中,创建一个 DatabaseHelper 实例,并在登录和注册按钮的点击事件中调用相应的方法进行数据验证和添加。如果验证成功,可以打开另一个 Activity 或直接显示 “登录成功” 消息。
```java
public class LoginActivity extends AppCompatActivity {
private EditText mUsernameEditText, mPasswordEditText;
private Button mLoginButton, mRegisterButton;
private DatabaseHelper mDatabaseHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
mUsernameEditText = findViewById(R.id.username_edit_text);
mPasswordEditText = findViewById(R.id.password_edit_text);
mLoginButton = findViewById(R.id.login_button);
mRegisterButton = findViewById(R.id.register_button);
mDatabaseHelper = new DatabaseHelper(this);
mLoginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = mUsernameEditText.getText().toString();
String password = mPasswordEditText.getText().toString();
if (mDatabaseHelper.checkUser(username, password)) {
// login success
} else {
// login failed
}
}
});
mRegisterButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = mUsernameEditText.getText().toString();
String password = mPasswordEditText.getText().toString();
if (mDatabaseHelper.addUser(username, password)) {
// register success
} else {
// register failed
}
}
});
}
}
```
这就是一个简单的 Android 登录注册页面实现,使用 SQLite 数据库进行数据存储和验证。需要注意的是,这只是一个基础的实现,您需要根据自己的需求进行修改和扩展。