.getDownloadUrl()(无法正常工作的"Android Studio") [英] .getDownloadUrl() (Not Working Properly "Android Studio" )

查看:151
本文介绍了.getDownloadUrl()(无法正常工作的"Android Studio")的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

.getDownloadUrl()方法不起作用,其下方显示红线.

.getDownloadUrl() method not working comes up with red line under it.

我几个月前一直在使用android studio,一个月前我开始了一个项目&我在项目期间遇到此错误. 原因是什么我该如何解决? 请帮我...

I have been using android studio for couple of months I started a project a month ago & I got this error during my project. what is the reason & how can i solve it? plzzz help me...

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == GALLERY_PICK && resultCode == RESULT_OK){

        Uri imageUri = data.getData();

        final String current_user_ref = "messages/" + mCurrentUserId + "/" + mChatUser;
        final String chat_user_ref = "messages/" + mChatUser + "/" + mCurrentUserId;

        DatabaseReference user_message_push = mRootRef.child("messages")
                .child(mCurrentUserId).child(mChatUser).push();

        final String push_id = user_message_push.getKey();


        StorageReference filepath = mImageStorage.child("message_images").child( push_id + ".jpg");

        filepath.putFile(imageUri).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {

                if(task.isSuccessful()){
              // this code is not working (.getDownloadUrl)..

                    String download_url = task.getResult().getDownloadUrl().toString();


                    Map messageMap = new HashMap();
                    messageMap.put("message", download_url);
                    messageMap.put("seen", false);
                    messageMap.put("type", "image");
                    messageMap.put("time", ServerValue.TIMESTAMP);
                    messageMap.put("from", mCurrentUserId);

                    Map messageUserMap = new HashMap();
                    messageUserMap.put(current_user_ref + "/" + push_id, messageMap);
                    messageUserMap.put(chat_user_ref + "/" + push_id, messageMap);

                    mChatMessageView.setText("");

                    mRootRef.updateChildren(messageUserMap, new DatabaseReference.CompletionListener() {
                        @Override
                        public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {

                            if(databaseError != null){

                                Log.d("CHAT_LOG", databaseError.getMessage().toString());

                            }

                        }
                    });


                }

            }
        });

    }

}

推荐答案

storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
    @Override
    public void onSuccess(Uri uri) {

    }
});

此方法将起作用您已经定义了storageReference对象

This method will work You already define storageReference object

这篇关于.getDownloadUrl()(无法正常工作的"Android Studio")的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆