使用Camera应用程序和firebase在onSuccess类中存储错误值

时间:2019-06-27 03:27:51

标签: android

为什么每个人都是Android Studio的新手,并试图创建一个使用库或摄像机图像存储在Firebase中的项目,所以尝试了很多方法,但是如果有人可以帮助我,那我将无法获得最好的方法 在此过程中,OnSuccess“ Uri downloadUrl = taskSnapshot.getDownloadUrl();”中存在错误,此处getDownloadUrl未解决。 在同一个班级中出现错误“ startActivity(new Intent(this, MainActivity.class));

我不知道此代码用于什么目的,请帮帮我

private void startPosting() {

        mProgress.setMessage("Posting to blog...");


        final String title_val = mPostTitle.getText().toString().trim();
        final String desc_val = mPostDesc.getText().toString().trim();
        if (!TextUtils.isEmpty(title_val) && !TextUtils.isEmpty(desc_val) && mImageUri != null) {

            mProgress.show();
            StorageReference filepath = mStorage.child("Blog_Images").child(mImageUri.getLastPathSegment());

            filepath.putFile(mImageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

                    Uri downloadUrl = taskSnapshot.getDownloadUrl();

                    DatabaseReference newPost = mDatabase.push();
                    newPost.child("title").setValue(title_val);
                    newPost.child("desc").setValue(desc_val);
                    newPost.child("image").setValue(downloadUrl.toString());


                    mProgress.dismiss();
                    startActivity(new Intent(this, MainActivity.class));
                }
            });
        }
    }

1 个答案:

答案 0 :(得分:0)

AFAIK getDownloadUrl()已过时。

仅提供少量信息,我不确定您到底要问什么,但是您可以尝试一下。

 filepath.putFile(mImageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
    @Override 
    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 

        Uri downloadUri = taskSnapshot.getResult();
        String downloadURL = downloadUri.toString(); 

        DatabaseReference newPost = mDatabase.push();    
        newPost.child("title").setValue(title_val);
        newPost.child("desc").setValue(desc_val);
        newPost.child("image").setValue(downloadURL);

        mProgress.dismiss();
        startActivity(new Intent(this, MainActivity.class));             

    } 
});