java - 我无法将数据写入 Firebase Firestore
问题描述
关于为什么会发生的任何建议。
我以下面提到的方式使用过:
FirebaseFirestore dbFirestore;
dbFirestore = FirebaseFirestore.getInstance();
在上传时,我以这种方式使用它:
documentReference= dbFirestore.collection("CLIENT_DETAIL").document(mAuth.getUid());
documentReference.set(userData);
我无法在 Firestore 上写它,我尝试了许多不同的可能性。
但是,有时它会在我尝试登录时写入,但在注册时执行代码时不会写入。当它写入时,即使在使用所有字段键调用后,我也无法读取它。
有什么建议么??比如我为什么会发生,或者我是否需要在 GCP 有一个结算帐户。请,任何人。这是我试图弄清楚的一天。
mDocumentReferance.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
storeType= documentSnapshot.getString("STORE_TYPE");
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i(TAG, "onFailure: unable to fetch the document");
}
});
它是阅读它的代码,但它不起作用
这是 Task.isSuccessfull 上的代码
if (task.isSuccessful()) {
Log.i(TAG, "onComplete: creating folders based type ");
OnAuth(task.getResult().getUser());
sendEmailVerification();
mAuth.signOut();
SharedPreferences storeNamePreference= getSharedPreferences("UserDetails",MODE_PRIVATE);
userData.put(RESTAURANT_UID,storeNamePreference.getString("UserUID",""));
dbFirestore.collection("CLIENT_DETAIL").document(storeNamePreference.getString("UserUID","")).set(userData).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.i(TAG, "onSuccess: Database referance is created");
mDialog.dismiss();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i(TAG, "onFailure: database referance is not created");
}
});
Intent intent = new Intent(SignupActivity.this, LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
由于我已经在 SharedPreferences 中保存了用户 UID 值,因此我在那里调用它。我在上面的代码中做错了吗?
我确实有用户 UID 的值。
解决方案
您无法向 Firestore 发送数据,因为您向 Firestore 发送了虚假数据。您什么都不发送,只发送UserUID
没有信息的字段:
userData.put(RESTAURANT_UID,storeNamePreference.getString("UserUID",""));
UserUID
- 是您发送到 dB 的字段。然后你写了“” - 这是错误的,因为你发送的是空信息,你必须给出变量。
推荐阅读
- wordpress - Wordpress - 启用订阅者(前端自定义表单)更改他们的电子邮件地址
- javascript - 使用正则表达式 vue JS 的 URL 验证
- python - 从列表中删除包含列表中特定值的数据框行
- php - 在变量中使用 google drive API v3 php 获取 google 文档的文件内容
- prestashop - Prestashop 部分订单开票
- django - 将 pdf 从 Django 后端传递到 Angular 前端
- python - 将 pytorch 张量 / numpy 数组的两个最高值设置为 1,将其他值设置为零
- dc.js - 基于“reduceSummed”组的直方图
- whmcs - WHMCS 如何在页面中找到正确的 tpl 文件
- android - Looper.getMainLooper() 在单元测试中为空