Firestore getProductID不能为null错误

Bra*_*man 22 java android firebase google-cloud-firestore

我正在尝试使用Firebase在我的Android应用程序中发布的新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);
                        }
                    });

        }
    });
}
Run Code Online (Sandbox Code Playgroud)

这是我不断得到的错误.我已经通过助手将项目添加到我的Android应用程序中.所以不应该有问题.

进程:damn.testapp,PID:2622
java.lang.IllegalArgumentException:FirebaseOptions.getProjectId()在com.google.firebase.firestore.FirebaseFirestore的com.google.firebase.firestore.FirebaseFirestore.zze(未知来源)中不能为空.来自android.view.View $ PerformClick.run(View.java)的android.view.View.performClick(View.java:5637)上的damn.testapp.MainActivity $ 1.onClick(MainActivity.java:44)中的getInstance(未知来源) :22429)在android.os.Handler.handleCallback(Handler.java:751)android.os.Handler.dispatchMessage(Handler.java:95)在android.os.Looper.loop(Looper.java:154)在android .app.ActivityThread.main(ActivityThread.java:6119)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886)at com的java.lang.reflect.Method.invoke(Native Method) .android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

任何帮助将不胜感激.

这是我的数据库安全规则

service cloud.firestore {
  match /databases/{database}/documents {
match /{document=**} {
  allow read, write;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我使用的依赖:

    compile 'com.google.firebase:firebase-firestore:11.4.2'
Run Code Online (Sandbox Code Playgroud)

sok*_*ive 49

我有同样的问题.用gradle:3.0.0到3.1.0解决了这个问题

buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:3.1.0'
    }
}
Run Code Online (Sandbox Code Playgroud)