【问题标题】:I'm having major trouble adding replacement code for DownloadUrl() [duplicate]我在为 DownloadUrl() 添加替换代码时遇到了重大问题 [重复]
【发布时间】:2019-11-28 22:39:07
【问题描述】:

任何帮助将不胜感激! (与已折旧的 DownloadURL() 不同)

当我更新 Android Studio 并将我的所有代码移至 AndroidX 材料设计支持库时,问题就开始了。 (没想到重建这么多)

这是我目前的设置:

        Log.d(TAG, "uploadNewPhoto: attempting to upload new photo");

        FilePaths filePaths = new FilePaths();
        //Case 1 new photo
        if (photoType.equals(mContext.getString(R.string.profile_photo))){

            String user_id = FirebaseAuth.getInstance().getCurrentUser().getUid();
            StorageReference storageReference = mStorageReference
                    .child(filePaths.FIREBASE_IMAGE_STORAGE + "/" + user_id + "/photo" + (count + 1));

            //Convert image url to bitmap
            Bitmap bm = ImageManager.getBitmap(imgUrl);
            byte[] bytes = ImageManager.getBytesFromBitmap(bm, 100);

            UploadTask uploadTask = null;
            uploadTask = storageReference.putBytes(bytes);

            uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                    ****Uri filebaseUrl = taskSnapshot.getDownloadUrl();****

                    Toast.makeText(mContext, "Photo Upload Success!", Toast.LENGTH_SHORT).show();

                    //add new photo to photos node and user_photos node

                    //navigate to main feed so user can see photo


                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.d(TAG, "onFailure: Photo upload failed.");
                    Toast.makeText(mContext, "Photo upload failed. ", Toast.LENGTH_SHORT).show();


                }
            }).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onProgress(@NonNull UploadTask.TaskSnapshot taskSnapshot) {
                    double progress = (100 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();

                    if (progress - 15 > mPhotoUploadProgress){
                        Toast.makeText(mContext, "photo upload progress: " + String.format("%.0f", progress) + "%", Toast.LENGTH_SHORT).show();
                        mPhotoUploadProgress = progress;
                    }

                }
            });

        }else if (photoType.equals(mContext.getString(R.string.profile_photo))){

        }
        //case 2 new profile photo

    }

【问题讨论】:

标签: java android firebase firebase-storage


【解决方案1】:

在相关问题上找到解决方案 ->

替换:

Uri filebaseUrl = taskSnapshot.getDownloadUrl();

Task<Uri> firebaseUri = taskSnapshot.getStorage().getDownloadUrl();

【讨论】:

    猜你喜欢
    • 2019-10-23
    • 1970-01-01
    • 2021-11-05
    • 2018-11-04
    • 2018-05-19
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    相关资源
    最近更新 更多