java - Firestore getProductID 不能为空错误

标签 java android firebase google-cloud-firestore

我正在尝试在我的 Android 应用中使用 Firebase 发布的新 Firestore。不幸的是,我在尝试写入数据库时​​不断收到此错误。

public class MainActivity extends AppCompatActivity {

EditText txtName,txtSurname;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar =  findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    txtName = findViewById(R.id.Name);
    txtSurname = findViewById(R.id.Surname);

    FloatingActionButton fab = findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            FirebaseFirestore db = FirebaseFirestore.getInstance();

            Map<String, Object> user = new HashMap<>();
            user.put("first", "Ada");
            user.put("last", "Lovelace");
            user.put("born", 1815);

            db.collection("users")
                    .add(user)
                    .addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                        @Override
                        public void onSuccess(DocumentReference documentReference) {
                            //Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId());
                        }
                    })
                    .addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            //Log.w(TAG, "Error adding document", e);
                        }
                    });

        }
    });
}

这是我不断收到的错误。我已通过助手将该项目添加到我的 android 应用程序中。所以应该没有问题。

Process: damn.testapp, PID: 2622
java.lang.IllegalArgumentException: FirebaseOptions.getProjectId() cannot be null at com.google.firebase.firestore.FirebaseFirestore.zze(Unknown Source) at com.google.firebase.firestore.FirebaseFirestore.getInstance(Unknown Source) at damn.testapp.MainActivity$1.onClick(MainActivity.java:44) at android.view.View.performClick(View.java:5637) at android.view.View$PerformClick.run(View.java:22429) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

任何帮助将不胜感激。

这是我的数据库安全规则

service cloud.firestore {
  match /databases/{database}/documents {
match /{document=**} {
  allow read, write;
    }
  }
}

这是我正在使用的依赖项:

    compile 'com.google.firebase:firebase-firestore:11.4.2'

最佳答案

我遇到了同样的问题。 在 gradle 中解决了这个问题: 3.0.0 到 3.1.0

buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:3.1.0'
    }
}

关于java - Firestore getProductID 不能为空错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46564349/

相关文章:

android - 选择日期范围内的元素

Android sqlite如何检查记录是否存在

Java Stream `generate()`如何获取 "include"第一个 "excluded"元素

java - .class 文件中的错误版本号 - 如何找到它是哪个类

java - 当我删除字段时,Firestore EventListener 导致 Null 异常

android - 从本地文件系统加载 google-services.json

javascript - 当 firebase 函数在另一个文件中时,如何让它保持打开状态

java - 为什么在 Android 上删除文件时,word "storage"上会出现错误行?

java - 我如何从这样的数据库中检索数据?

java - 使用 selenium 打开 url 时未显示 Ajax 控件