要使用Android Java Firebase Auth进行用户身份验证和保存用户,需要按照以下步骤进行操作:
dependencies {
implementation 'com.google.firebase:firebase-auth:20.0.0'
implementation 'com.google.firebase:firebase-database:19.5.1'
}
在你的Firebase控制台中启用Firebase Auth和Firebase数据库。
在你的Android项目的MainActivity类中,初始化Firebase Auth和Firebase数据库:
private FirebaseAuth mAuth;
private DatabaseReference mDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAuth = FirebaseAuth.getInstance();
mDatabase = FirebaseDatabase.getInstance().getReference();
}
private void registerUser(String email, String password) {
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
// 注册成功
FirebaseUser user = mAuth.getCurrentUser();
saveUserToDatabase(user);
} else {
// 注册失败
Toast.makeText(MainActivity.this, "注册失败",
Toast.LENGTH_SHORT).show();
}
}
});
}
private void saveUserToDatabase(FirebaseUser user) {
String userId = user.getUid();
String email = user.getEmail();
User newUser = new User(email); // 你可以根据需要创建一个User类
mDatabase.child("users").child(userId).setValue(newUser)
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
// 保存用户成功
Toast.makeText(MainActivity.this, "用户保存成功",
Toast.LENGTH_SHORT).show();
} else {
// 保存用户失败
Toast.makeText(MainActivity.this, "用户保存失败",
Toast.LENGTH_SHORT).show();
}
}
});
}
private void loginUser(String email, String password) {
mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
// 登录成功
FirebaseUser user = mAuth.getCurrentUser();
// 在这里可以执行你想要的操作,如跳转到另一个Activity
} else {
// 登录失败
Toast.makeText(MainActivity.this, "登录失败",
Toast.LENGTH_SHORT).show();
}
}
});
}
这些示例代码演示了如何使用Android Java Firebase Auth进行用户身份验证和保存用户。你可以根据你的需求进行修改和扩展。