Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.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 等待firebase完成上载到数据库_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Android 等待firebase完成上载到数据库

Android 等待firebase完成上载到数据库,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我尝试了completion listener,但我想检查当我按下close sesion按钮时是否没有要上传的数据,我的问题是当我再次按下close sesion并转到我的loginActivity时,数据仍在上传到firebase,因此我得到一个空错误,因为它无法到达用户发布最后的数据,我想做的是在close sesion按钮上放置一个侦听器,在这里我可以检查用户id是否已完成上载 button.setOnPreferenceClickListener(new Preference.OnPr

我尝试了completion listener,但我想检查当我按下close sesion按钮时是否没有要上传的数据,我的问题是当我再次按下close sesion并转到我的loginActivity时,数据仍在上传到firebase,因此我得到一个空错误,因为它无法到达用户发布最后的数据,我想做的是在close sesion按钮上放置一个侦听器,在这里我可以检查用户id是否已完成上载

button.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
                @Override
                public boolean onPreferenceClick(Preference preference) {


                         Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(new ResultCallback<Status>() {
                             @Override
                             public void onResult(@NonNull Status status) {
//here i want to test if the user has finished uploading all before sign out

                                 FirebaseAuth.getInstance().signOut();
                                 mGoogleApiClient.disconnect();
                                 finish();
                             }
                         });



                    return true;
                }
            });
按钮.setOnPreferenceClickListener(新的首选项.OnPreferenceClickListener(){
@凌驾
公共布尔值打开首选项单击(首选项){
Auth.GoogleSignInApi.signOut(mGoogleApiClient.setResultCallback(new-ResultCallback()){
@凌驾
public void onResult(@NonNull状态){
//这里我想测试用户是否在注销前完成了所有上传
FirebaseAuth.getInstance().signOut();
mGoogleApiClient.disconnect();
完成();
}
});
返回true;
}
});

您不需要等到Firebase完成上传到数据库,您需要使用

当数据库服务器确认某个操作并认为该操作已完成时,此接口用作通知的方法


这意味着,一旦您的数据成功写入Firebase数据库服务器,您就可以注销。

您要上载到Firebase的是什么?