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 アプリに追加しました。だから問題はないはずです。
プロセス: いまいましい.testapp、PID: 2622
java.lang.IllegalArgumentException: FirebaseOptions.getProjectId() は com.google.firebase.firestore.FirebaseFirestore.zze (不明なソース) で null にすることはできません com.google.firebase.firestore.FirebaseFirestore.getInstance (不明なソース) でdamn.testapp .MainActivity$1.onClick(MainActivity.java:44) で android.view.View.performClick(View.java:5637) で android.view.View$PerformClick.run(View.java:22429) で android.os.Handler android.os.Handler.dispatchMessage(Handler.java:95) の .handleCallback(Handler.java:751) java:6119) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) の java.lang.reflect.Method.invoke(ネイティブ メソッド) com.android.internal.os.ZygoteInit.メイン (ZygoteInit.java:776)
どんな助けでも大歓迎です。
データベースのセキュリティ ルールは次のとおりです。
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
そして、これは私が使用している依存関係です:
compile 'com.google.firebase:firebase-firestore:11.4.2'