Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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 如何在Android中添加向firebase添加数据的进度对话框?_Java_Android_Progressdialog - Fatal编程技术网

Java 如何在Android中添加向firebase添加数据的进度对话框?

Java 如何在Android中添加向firebase添加数据的进度对话框?,java,android,progressdialog,Java,Android,Progressdialog,“进度”对话框的放置位置显示用户注册成功还是失败。还有其他更好更有效的方法吗。提前谢谢 RegisterButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SaveAccountInformation(); } }); private void Save

“进度”对话框的放置位置显示用户注册成功还是失败。还有其他更好更有效的方法吗。提前谢谢

RegisterButton.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            SaveAccountInformation();
        }
    });


private void SaveAccountInformation()
{
    String firstname = RegisterFirstName.getText().toString();
    String lastname = RegisterLastName.getText().toString();

    if (TextUtils.isEmpty(firstname))
    {
        Toast.makeText(RegistrationActivity.this, "Enter your first name.", Toast.LENGTH_SHORT).show();
    }

    else if (TextUtils.isEmpty(lastname))
    {
        Toast.makeText(RegistrationActivity.this, "Last name is required.", Toast.LENGTH_SHORT).show();
    }

    else
    {
        loadingBar.setTitle("Registration Account");
        loadingBar.setMessage("Please wait while we are registering you in our system.");
        loadingBar.show();
        loadingBar.setCanceledOnTouchOutside(true);

        String userid = databaseUser.push().getKey();

        User user = new User(userid, firstname, lastname);

        databaseUser.child(userid).setValue(user);

        Toast.makeText(this, "Registration added!", Toast.LENGTH_SHORT).show();

        databaseUser.child(userid).setValue(user,new OnCompleteListener()
        {
            @Override
            public void onComplete(@NonNull Task task)
            {
                if(task.isSuccessful())
                {
                    Toast.makeText(RegistrationActivity.this, "Registration has been successful.", Toast.LENGTH_SHORT).show();
                    Intent HomeIntent = new Intent(RegistrationActivity.this, home.class);
                    HomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                    startActivity(HomeIntent);
                    finish();
                }

                else
                {
                    String message = task.getException().getMessage();
                    Toast.makeText(RegistrationActivity.this, "Error occured: " +message, Toast.LENGTH_SHORT).show();
                }
                loadingBar.dismiss();
            }
        });
    }
}
Logcat如下所示:-

08-24 13:18:50.865 6915-6915/com.addaj.mobile推荐系统E/SpannableStringBuilder:SPAN_EXCLUSIVE_EXCLUSIVE SPAN不能为零长度 SPAN_EXCLUSIVE_EXCLUSIVE SPAN的长度不能为零 08-24 13:19:00.354 6915-6915/com.addaj.mobileRecommensionSystem E/AndroidRuntime:致命异常:主 流程:com.addaj.mobileRecommensionSystem,PID:6915 com.google.firebase.database.DatabaseException:未能分析类为com.addaj.mobileRecommissionSystem.RegistrationActivity$3的节点 在com.google.android.gms.internal.firebase_database.zzjd.zza(未知来源) 位于com.google.android.gms.internal.firebase_database.zzjg.zzc(未知来源) 位于com.google.firebase.database.DatabaseReference.setValue(未知源) 在com.addaj.mobileRecommissionSystem.RegistrationActivity.SaveAccountInformation(RegistrationActivity.java:171)上 访问com.addaj.mobileRecommissionSystem.RegistrationActivity.access$000(RegistrationActivity.java:29) 在com.addaj.mobileRecommissionSystem.RegistrationActivity$1.onClick(RegistrationActivity.java:82)上 在android.view.view.performClick上(view.java:5647) 在android.view.view$PerformClick.run(view.java:22465) 位于android.os.Handler.handleCallback(Handler.java:754) 位于android.os.Handler.dispatchMessage(Handler.java:95) 位于android.os.Looper.loop(Looper.java:163) 位于android.app.ActivityThread.main(ActivityThread.java:6228) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:904) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)

解决方案:

添加此方法,您的项目应该可以正常工作:

private void uploadImageAndGetURL(String ImageId) {

    final StorageReference filePath = storageImage.child(ImageId + ".jpg");

    UploadTask uploadTask = filePath.putFile(imageUri);

    uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
        @Override
        public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
            if (!task.isSuccessful()) {
                throw task.getException();
            }
            // Continue with the task to get the download URL
            return filePath.getDownloadUrl();
        }
    }).addOnCompleteListener(new OnCompleteListener<Uri>() {
        @Override
        public void onComplete(@NonNull Task<Uri> task) {

            if (task.isSuccessful()) {

                downloadURL = task.getResult().toString();

                storeDataToFirebase();

            } else {

                Toast.makeText(AddAdsActivity.this, "There has bean a problem in the database.", Toast.LENGTH_SHORT).show();
                loadingBar.dismiss();

            }
        }
    });

}
private void uploadImageAndGetURL(字符串ImageId){
最终的StorageReference文件路径=storageImage.child(ImageId+“.jpg”);
UploadTask UploadTask=filePath.putFile(imageUri);
uploadTask.continueWithTask(新的Continuation(){
@凌驾
公共任务(@NonNull Task Task)引发异常{
如果(!task.issusccessful()){
抛出task.getException();
}
//继续执行任务以获取下载URL
返回filePath.getDownloadUrl();
}
}).addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
downloadURL=task.getResult().toString();
storeDataToFirebase();
}否则{
Toast.makeText(AddAdsActivity.this,“数据库中有问题。”,Toast.LENGTH_SHORT.show();
loadingBar.disclose();
}
}
});
}

希望对你有帮助

:);)很高兴我们一起出去玩!哈哈:是的你一定是在开玩笑