Android 调用Firebase Firestore对象后应用程序崩溃。集合|无法添加Firebase Firestore集合

Android 调用Firebase Firestore对象后应用程序崩溃。集合|无法添加Firebase Firestore集合,android,firebase,google-cloud-firestore,Android,Firebase,Google Cloud Firestore,我的代码在我的firebase数据库中创建一个新用户,意味着createUserWithEmailAndPassword方法正在工作,但在该应用程序崩溃之后 参考:我的代码起初是有效的,但在我的firebase应用程序项目服务帐户中做了一些更改后,代码不起作用 mAuth.createUserWithEmailAndPassword(shopEmail,shopPassword) .addOnCompleteListener(this, new OnCompleteListener&l

我的代码在我的firebase数据库中创建一个新用户,意味着createUserWithEmailAndPassword方法正在工作,但在该应用程序崩溃之后

参考:我的代码起初是有效的,但在我的firebase应用程序项目服务帐户中做了一些更改后,代码不起作用

 mAuth.createUserWithEmailAndPassword(shopEmail,shopPassword)
    .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()) {
                ShopObject newShop = new ShopObject(shopName,shopKeeper,shopLocation,shopEmail,shopPhone,placeAddress,placeLat,placeLon);
                db.collection("shops")
                        .add(newShop)
                        .addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                            @Override
                            public void onSuccess(DocumentReference documentReference) {
                                Toast.makeText(getApplicationContext(),documentReference.getId(),Toast.LENGTH_LONG).show();
                            }
                        })
                        .addOnFailureListener(new OnFailureListener() {
                            @Override
                            public void onFailure(@NonNull Exception e) {
                                Toast.makeText(getApplicationContext(),"Registration Object Fail",Toast.LENGTH_LONG).show();
                            }
                        });
                Toast.makeText(getApplicationContext(),"Registration Sucess",Toast.LENGTH_LONG).show();
            }
            else
                Toast.makeText(getApplicationContext(),"Registration Fail",Toast.LENGTH_LONG).show();
        }
    });
}

您的代码似乎很好。尽管您没有共享logcat错误消息,但请尝试以下建议来解决此问题

  • 确保根据您的项目正确设置firebase规则

  • 确保代码中没有nullPointer异常,例如在不初始化FirebaseDatabase实例的情况下尝试获取对FirebaseAuth的引用

  • 由于您正在使用cloud firestore,请确保在firebase控制台中选择cloud firestore作为数据库

  • 我认为您正在将“ShopObject newShop”对象添加到firebase

    ShopObject newShop = new ShopObject(shopName,shopKeeper,shopLocation,shopEmail,shopPhone,placeAddress,placeLat,placeLon);
                    db.collection("shops")
                            .add(newShop)
    
    这不是firebase支持的数据类型。
    您必须将其放入类似的HashMap中,然后添加。

    您是否检查了logcat的stacktrace?它到底在哪里坠毁?错误消息是什么?你的应用程序正在崩溃,出现了什么错误?我已修复了我的错误。谢谢你的回答,我已经修好了。谢谢你的回答。
    ShopObject newShop = new ShopObject(shopName,shopKeeper,shopLocation,shopEmail,shopPhone,placeAddress,placeLat,placeLon);
                    db.collection("shops")
                            .add(newShop)