在android studio中实现账号的注册登录查看的java代码和xml代码
时间: 2024-03-25 10:41:07 浏览: 15
这里给出一个简单的示例,实现了账号注册、登录和查看功能。
1. 注册界面的 XML 布局代码:
```xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名"/>
<EditText
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"/>
<EditText
android:id="@+id/et_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="电子邮件"/>
<Button
android:id="@+id/btn_register"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="注册"/>
</LinearLayout>
```
2. 注册界面的 Java 代码:
```java
public class RegisterActivity extends AppCompatActivity {
private EditText mEtUsername;
private EditText mEtPassword;
private EditText mEtEmail;
private Button mBtnRegister;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
mEtUsername = findViewById(R.id.et_username);
mEtPassword = findViewById(R.id.et_password);
mEtEmail = findViewById(R.id.et_email);
mBtnRegister = findViewById(R.id.btn_register);
mBtnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = mEtUsername.getText().toString();
String password = mEtPassword.getText().toString();
String email = mEtEmail.getText().toString();
// 将用户信息插入到数据库中
DBHelper dbHelper = new DBHelper(RegisterActivity.this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("username", username);
values.put("password", password);
values.put("email", email);
db.insert("user", null, values);
db.close();
Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_SHORT).show();
finish();
}
});
}
}
```
3. 登录界面的 XML 布局代码:
```xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名"/>
<EditText
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"/>
<Button
android:id="@+id/btn_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录"/>
</LinearLayout>
```
4. 登录界面的 Java 代码:
```java
public class LoginActivity extends AppCompatActivity {
private EditText mEtUsername;
private EditText mEtPassword;
private Button mBtnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
mEtUsername = findViewById(R.id.et_username);
mEtPassword = findViewById(R.id.et_password);
mBtnLogin = findViewById(R.id.btn_login);
mBtnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = mEtUsername.getText().toString();
String password = mEtPassword.getText().toString();
// 查询数据库中是否有匹配的用户信息
DBHelper dbHelper = new DBHelper(LoginActivity.this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = db.query("user", null, "username=? and password=?", new String[]{username, password}, null, null, null);
if (cursor.moveToFirst()) {
Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(LoginActivity.this, UserInfoActivity.class);
intent.putExtra("username", username);
startActivity(intent);
finish();
} else {
Toast.makeText(LoginActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
}
cursor.close();
db.close();
}
});
}
}
```
5. 用户信息查看界面的 XML 布局代码:
```xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/tv_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
```
6. 用户信息查看界面的 Java 代码:
```java
public class UserInfoActivity extends AppCompatActivity {
private TextView mTvUsername;
private TextView mTvEmail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_info);
mTvUsername = findViewById(R.id.tv_username);
mTvEmail = findViewById(R.id.tv_email);
Intent intent = getIntent();
String username = intent.getStringExtra("username");
// 查询数据库中的用户信息并展示在界面上
DBHelper dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = db.query("user", null, "username=?", new String[]{username}, null, null, null);
if (cursor.moveToFirst()) {
String email = cursor.getString(cursor.getColumnIndex("email"));
mTvUsername.setText(username);
mTvEmail.setText(email);
}
cursor.close();
db.close();
}
}
```
当然,这只是一个简单的示例,实际上还有很多需要优化的地方,例如加密用户密码、处理异常情况等。但是,这个示例可以帮助你了解如何在 Android Studio 中实现账号的注册、登录和查看功能。