用android studio做一个记账app要求有登入注册页面的实现代码
时间: 2023-06-14 22:04:41 浏览: 130
以下是一个简单的登入注册页面的实现代码,使用了Firebase Authentication来进行用户身份验证。
1. 在Firebase控制台中创建新项目并启用Firebase Authentication(Email/Password)。
2. 在Android Studio中创建一个新项目并添加Firebase到你的应用。
3. 添加以下依赖项到你的app模块的build.gradle文件中:
```
implementation 'com.google.firebase:firebase-auth:19.3.2'
implementation 'com.google.android.gms:play-services-auth:18.0.0'
```
4. 创建一个名为 LoginActivity 的新Activity,并在它的布局文件中添加一个包含电子邮件和密码输入字段以及登入和注册按钮的线性布局。
5. 在LoginActivity中,添加以下代码:
```
public class LoginActivity extends AppCompatActivity {
private EditText mEmailField;
private EditText mPasswordField;
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
mAuth = FirebaseAuth.getInstance();
mEmailField = findViewById(R.id.email_field);
mPasswordField = findViewById(R.id.password_field);
Button loginBtn = findViewById(R.id.login_button);
loginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = mEmailField.getText().toString();
String password = mPasswordField.getText().toString();
if (!TextUtils.isEmpty(email) && !TextUtils.isEmpty(password)) {
mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// 登入成功
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
finish();
} else {
// 登入失败
Toast.makeText(LoginActivity.this, "登入失败", Toast.LENGTH_SHORT).show();
}
}
});
} else {
Toast.makeText(LoginActivity.this, "请输入电子邮件和密码", Toast.LENGTH_SHORT).show();
}
}
});
Button registerBtn = findViewById(R.id.register_button);
registerBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = mEmailField.getText().toString();
String password = mPasswordField.getText().toString();
if (!TextUtils.isEmpty(email) && !TextUtils.isEmpty(password)) {
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// 注册成功
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
finish();
} else {
// 注册失败
Toast.makeText(LoginActivity.this, "注册失败", Toast.LENGTH_SHORT).show();
}
}
});
} else {
Toast.makeText(LoginActivity.this, "请输入电子邮件和密码", Toast.LENGTH_SHORT).show();
}
}
});
}
}
```
这个代码中,我们首先获取FirebaseAuth的实例,然后在登入按钮的点击事件中调用signInWithEmailAndPassword方法进行身份验证,如果验证成功则跳转到MainActivity。在注册按钮的点击事件中调用createUserWithEmailAndPassword方法进行用户注册,如果注册成功则跳转到MainActivity。
6. 在AndroidManifest.xml文件中添加以下权限:
```
<uses-permission android:name="android.permission.INTERNET" />
```
这些就是简单的登入注册页面的实现代码。请注意,这只是一个基本的示例,你需要添加更多的错误处理和数据验证以确保你的应用程序安全和稳定。
阅读全文