Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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
Java 当我试图编辑一个字段时,另一个字段在Firestore数据库中设置为NULL_Java_Android_Google Cloud Firestore - Fatal编程技术网

Java 当我试图编辑一个字段时,另一个字段在Firestore数据库中设置为NULL

Java 当我试图编辑一个字段时,另一个字段在Firestore数据库中设置为NULL,java,android,google-cloud-firestore,Java,Android,Google Cloud Firestore,用户登录后,其帐户详细信息将显示在应用程序中,但用户可以编辑这些字段。他们可以更改用户名、显示名称和电话号码。我试图更改显示名称(更新用户名是另一种方法),但当我这样做时,电话号码设置为null,反之亦然。我的代码有问题吗?我是Firestore数据库的初学者 private FirebaseFirestore dbFirebaseFirestore.getInstance(); private DocumentReference userRef; userID = FirebaseAuth.g

用户登录后,其帐户详细信息将显示在应用程序中,但用户可以编辑这些字段。他们可以更改用户名、显示名称和电话号码。我试图更改显示名称(更新用户名是另一种方法),但当我这样做时,电话号码设置为null,反之亦然。我的代码有问题吗?我是Firestore数据库的初学者

private FirebaseFirestore dbFirebaseFirestore.getInstance();
private DocumentReference userRef;
userID = FirebaseAuth.getInstance().getCurrentUser().getUid();

这就是我调用该方法的地方,我想告诉大家,因为当我验证display\u name是否更改时,我会将电话号码设置为null,反之亦然,但在这之前,实时数据库可以正常工作。

当调用方法updateUserAccountSettings时,userRef.update(“display\u name”,displayName…)
private FirebaseFirestore dbFirebaseFirestore.getInstance();
private DocumentReference userRef;
userID = FirebaseAuth.getInstance().getCurrentUser().getUid();
正在运行userRef.update(“phone_number”,phoneNumber…)。在if条件中,其中一个值为null。由于这两个函数都可以运行,所以始终有一个值将为null。一种方法是使用If-Else条件检查值是否为null

 if(displayName != null){
 userRef.update("display_name", displayName
        ).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "onComplete: update is succesful");
                } else {
                    Log.d(TAG, "onComplete: update failed ");
                }

            }
        });
 }
 else{

        userRef.update("phone_number", phoneNumber
        ).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "onComplete: update is succesful");
                } else {
                    Log.d(TAG, "onComplete: update failed ");
                }

            }
        });
}
 if(displayName != null){
 userRef.update("display_name", displayName
        ).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "onComplete: update is succesful");
                } else {
                    Log.d(TAG, "onComplete: update failed ");
                }

            }
        });
 }
 else{

        userRef.update("phone_number", phoneNumber
        ).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "onComplete: update is succesful");
                } else {
                    Log.d(TAG, "onComplete: update failed ");
                }

            }
        });
}
if(!mUser.getDisplay_name().equals(displayName)){
            //update displayname
            mFirebaseMethods.updateUserDisplayName(displayName, null);
        }
if(mUser.getPhone_number().equals(phoneNumber)){
            //update phoneNumber
            mFirebaseMethods.updatePhoneNumber(null, phoneNumber);
        }