java - 如何在firebase数据库中添加数据?
问题描述
我想用 android studio 创建一个聊天应用程序项目,当我想将数据保存在 firebase 数据库中时,我是新开发人员,我的应用程序崩溃了,这是我的代码:
public void register(final String username, final String email, final String password)
{
auth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task)
{
if (task.isSuccessful())
{
FirebaseUser firebaseUser = auth.getCurrentUser();
assert firebaseUser != null;
String userid = firebaseUser.getUid();
HashMap<String , String> hashMap = new HashMap<>();
hashMap.put("id", userid);
hashMap.put("username", username);
hashMap.put("imageURL", "defualt");
hashMap.put("password", password);
reference = FirebaseDatabase.getInstance().getReference("Users").child(userid);
reference.setValue(hashMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task)
{
if (task.isSuccessful())
{
Intent intent = new Intent(RegisterActivity.this,
MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
}
});
}
else
Toast.makeText(RegisterActivity.this, "You can't register woth this email or password",
Toast.LENGTH_SHORT).show();
}
});
}
当我想保存我的数据时,这个任务等于 false:
if (task.isSuccessful())
{
Intent intent = new Intent(RegisterActivity.this,
MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
解决方案
确保您使用的是实时数据库而不是 Cloud Firestore。情况可能就是这样。
推荐阅读
- python-3.x - GridSearchCV 中多标签 KerasClassifier 的自定义指标评分
- php - 如何在 php 中构建和显示 Soap 对象?
- unity3d - Google 控制台不接受来自 Unity 的 64 位 Android App Bundle 文件
- python-3.x - 另一个数据框列中列值的熊猫计数频率
- c# - LINQ 从列表中选择多个元素
- jenkins - 使用 Jenkins 部署 Nexus 包
- css - 不同位置的下拉可见性
- php - 使用 str_replace 包装内容?
- node.js - mysql上的语法错误,但找不到在哪里
- spring-boot - springboot中的多个requestparam可分页