Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firestore-为什么我的空字段不是空的?_Android_Firebase_Google Cloud Firestore_Google Cloud Storage - Fatal编程技术网

Android Firestore-为什么我的空字段不是空的?

Android Firestore-为什么我的空字段不是空的?,android,firebase,google-cloud-firestore,google-cloud-storage,Android,Firebase,Google Cloud Firestore,Google Cloud Storage,我在做申请的时候偶然发现了一个非常奇怪的错误。有一个功能,点击按钮,用户可以从存储器中删除整个Firestore文档和相应的文件。我将图片的整个URL存储在文档中的字符串字段中,但是这个URL可能是空的,这就是我的问题。我检查这个URL字段是否为null,但不知何故,我的代码设法跳过了这个逻辑语句并尝试删除该文件,这就是我得到一个很好的null指针异常的地方 docRef = fStore.collection("ActiveJobs").document(docID);

我在做申请的时候偶然发现了一个非常奇怪的错误。有一个功能,点击按钮,用户可以从存储器中删除整个Firestore文档和相应的文件。我将图片的整个URL存储在文档中的字符串字段中,但是这个URL可能是空的,这就是我的问题。我检查这个URL字段是否为null,但不知何故,我的代码设法跳过了这个逻辑语句并尝试删除该文件,这就是我得到一个很好的null指针异常的地方

docRef = fStore.collection("ActiveJobs").document(docID);
    docRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
        @Override
        public void onSuccess(DocumentSnapshot documentSnapshot) {
            if (documentSnapshot.exists()) {
                if (documentSnapshot.getString("jobPictureUrl") != null || documentSnapshot.get("jobPictureUrl) != null) {
                    String pictureUrl = documentSnapshot.getString("jobPictureUrl");
                    storageRef = fStorage.getReferenceFromUrl(pictureUrl);
                    storageRef.delete();
                }
            }
        }
    });
docRef=fStore.collection(“ActiveJobs”).docID文档;
docRef.get().addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(文档快照文档快照){
if(documentSnapshot.exists()){
if(documentSnapshot.getString(“jobPictureUrl”)!=null | | documentSnapshot.get(“jobPictureUrl”)!=null){
String pictureUrl=documentSnapshot.getString(“jobPictureUrl”);
storageRef=fStorage.getReferenceFromUrl(pictureUrl);
storageRef.delete();
}
}
}
});
如您所见,我确实通过两种不同的方式检查此字段是否为空,但不知何故,此语句总是返回它不是空的,并且我的storageRef行得到一个空指针异常,因为上面的pictureUrl为空。我尝试检查pictureUrl是否为空,但仍然得到相同的错误


希望您能帮助我,并感谢您阅读本文!

jobPictureUrl
字段不是空成员。它是一个空的
字符串

因此,您必须检查
字符串是否为空;但当前您正在执行
null
检查

if(!documentSnapshot.getString(“jobPictureUrl”).isEmpty()){
}
isEmpty()-返回
true
当且仅当字符串
length()
为0时