2016-08-09 7 views
0

나는 로딩 글라이드를 사용하여 GIF를 표시 해요 :글라이드 : 디스크에 캐시 된 특정 파일을 얻는 방법?

Glide.with(mContext).load(strGifUrl).into(imageView); 

을 그리고는 "GIF 저장"기능을 추가하는거야.

GIF가 너무 커서 다시 다운로드하지 않으려 고합니다.

캐시 된 gif 파일을 가져 와서 다른 디렉토리에 파일을 저장 아래 코드와 유사합니까?

InputStream is = new BufferedInputStream(new FileInputStream(**cachedGifFile**)); 
File savedFile = new File(savedFilePath); 
OutputStream os = new FileOutputStream(savedFile); 
int read = 0; 
byte[] bytes = new byte[1024]; 
while ((read = is.read(bytes)) != -1) { 
    os.write(bytes, 0, read); 
} 
os.close(); 
+0

해결책이 있습니까? 나는 비슷한 것을 시도하고있다. http://stackoverflow.com/questions/38991916/saving-gif-images-in-external-memory-android/38992424#38992424 –

+0

@NibhaJain 나는 글라이드를 포기하고 [** Universal-Image- Loader **] (https://github.com/nostra13/Android-Universal-Image-Loader) 및 [** android-gif-drawable **] (https://github.com/koral--/android- 대신 gif-drawable). 파일을 저장하거나 ** android-gif-drawable에로드하려면 ImageLoader.getInstance(). getDiskCache(). get (imageUri);를 사용하십시오. ** – TimmyMa

답변

0

시도해 보셨습니까?

Bitmap bitmap = Glide. 
    with(this). 
    load("YourURL"). 
    asBitmap(). 
    into(100, 100). // Width and height 
    get(); 
+0

GifDrawable gifDrawable = Glide.with (mContext) .load imageUri) .asGif(). into (Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) .get();'하지만 다음에해야 할 일은 무엇입니까? GifDrawable을 어떻게 파일에 저장합니까? – TimmyMa