1

에 저장된 이미지를 표시 할 수 없습니다. 그러나 나는 똑같이 시도해도 효과가 없을 것입니다. 여기 안드로이드 글라이드와 발리 : 사람들이 <em>글라이드</em> 또는 <em>같은 피카소</em>을 이미지 캐싱 도구를 사용하여, 당신은 이미지를 표시 할 수 있다고 어디 솔루션이 존재 알고 중포 기지 저장

스토리지

중포 기지에
if (uri != null) { 
     //upload to storage 
     StorageReference riversRef = imagesRef.child(uri.getLastPathSegment()); 
     UploadTask uploadTask = riversRef.putFile(uri); 
     // Register observers to listen for when the download is done or if it fails 
     uploadTask.addOnFailureListener(new OnFailureListener() { 
      @Override 
      public void onFailure(@NonNull Exception exception) { 
       // Handle unsuccessful uploads 
       Snackbar.make(coordinatorLayout, "Unable to process your request. Please try again.", Snackbar.LENGTH_SHORT).show(); 
      } 
     }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
      @Override 
      public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
       // taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL. 
       Uri downloadUrl = taskSnapshot.getMetadata().getDownloadUrl(); 
       if (downloadUrl != null) { 
        Date date = new Date(); 
        Locale locale = new Locale("en", "IN"); 
        SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy /h:mm a", locale); 
        String formattedDate = sdf.format(date); 

        HashMap<String, String> map = new HashMap<>(); 
        map.put("isXRead", String.valueOf(false)); 
        map.put("isYRead", String.valueOf(true)); 
        map.put("imgUrl", String.valueOf(downloadUrl)); 
        map.put("timestamp", formattedDate); 
        map.put("user", "X"); 
        ref.push().setValue(map); 
       } 
      } 
     }); 
    } 

이미지가 잘 업로드됩니다를 파일을 업로드 내 구현 및

다음
https://firebasestorage.googleapis.com/v0/b/private.appspot.com/o/Messenger_images%2F14076?alt=media&token=2164ec58-55c2-4b03-b97a-ebfd36e66593 

유사한 URL을 반환하는 방법을 나는를 표시하기 위해 노력하고있어입니다 발리를 사용하여 이미지 :

ImageRequest ir = new ImageRequest(message.getImgUrl(), new Response.Listener<Bitmap>() { 
      @Override 
      public void onResponse(Bitmap response) { 
       // callback 
       // new GlideOperations(context, img).glideMessenger(response); 
       img.setImageBitmap(response); 
      } 
     }, 100, 100, null, null); 
     //ir.setShouldCache(false); 
     AppController.getInstance().addToRequestQueue(ir); 

다음은 어떻게 이미지를 표시하려고하는지입니다. 글라이드 :

try { 
     Glide.with(mContext) 
       .load(object) 
       .thumbnail(0.5f) 
       .override(900, 400) 
       .crossFade(100) 
       .fitCenter() 
       .error(R.drawable.wallpaper) 
       .into(new SimpleTarget<GlideDrawable>() { 
        @Override 
        public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) { 
         try { 
          mImageView.setImageDrawable(resource); 
         } catch (Exception e) { 
          e.printStackTrace(); 
         } 
        } 
       }); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

위 작업 중 아무 것도 작동하지 않는 것 같습니다. 어떤 도움을 주시면 감사하겠습니다. 내가 사용하던 ImageView에 문제가 있었다처럼

솔루션 보인다. 당신의 도움을 주셔서 감사합니다.

+0

피카소와 파이어베이스 스토리지를 사용해 본 경험이 상당히 있습니다. 피카소에 또 다른 시도를 해보고 싶다면 도움이 될 것입니다. – RamithDR

+0

죄송하지만 미끄러짐이 훨씬 효율적으로 보입니다 – silverFoxA

+0

활공을 사용하여 Firebase Storage에 저장된 이미지를 imageView에로드하려면 [Samuel의이 스레드의 답변] (https://groups.google.com)에서 'FirebaseImageLoader' 클래스를 사용합니다./forum /? hl = ko #! topic/firebase-talk/IrJACH038DI) 완벽하게 작동하므로 이미지의 직접 공용 URL을 얻을 필요가 없습니다. – Wilik

답변

7

com.firebaseui:firebase-ui-storage:0.6.0 라이브러리에는 Glide를 사용하여 Firebase Storage 이미지를로드 할 수있는 기능이 포함되어 있습니다.

// Reference to an image file in Firebase Storage 
StorageReference storageReference = ...; 

// ImageView in your Activity 
ImageView imageView = ...; 

// Load the image using Glide 
Glide.with(this /* context */) 
     .using(new FirebaseImageLoader()) 
     .load(storageReference) 
     .into(imageView); 
+0

이 호에서 저를 도우십시오. http://stackoverflow.com/q/42480626/3671509 –