2013-08-14 3 views
1

앱을 열면 GIF 이미지를 다운로드하고 SD 카드에 저장했습니다.sdcard에서 이미지로드 - android

좀 URL을

http://androidosbeginning.blogspot.in/2010/09/gif-animation-in-android.html http://weavora.com/blog/2012/02/07/android-how-to-use-animated-gif/

을 확인했지만,이 URL의 예에서 GIF 이미지를 그릴 수 폴더에서로드.

sd 카드에서 GIF 이미지를로드하는 방법은 무엇입니까?

은 내가 당신이 InputStream로부터 영화를 만들고 캔버스에 영화를 그리기 첫 번째 링크를 보았다 오류

08-14 13:20:41.621: W/System.err(6052): java.io.IOException 
08-14 13:20:41.621: W/System.err(6052):  at java.io.InputStream.reset(InputStream.java:218) 
08-14 13:20:41.621: W/System.err(6052):  at android.graphics.Movie.decodeStream(Native Method) 
08-14 13:20:41.621: W/System.err(6052):  at com.android.gif.GIFDemo$GIFView.<init>(GIFDemo.java:84) 
08-14 13:20:41.621: W/System.err(6052):  at com.android.gif.GIFDemo$1.run(GIFDemo.java:36) 
08-14 13:20:41.621: W/System.err(6052):  at android.os.Handler.handleCallback(Handler.java:615) 
08-14 13:20:41.621: W/System.err(6052):  at android.os.Handler.dispatchMessage(Handler.java:92) 
08-14 13:20:41.621: W/System.err(6052):  at android.os.Looper.loop(Looper.java:137) 
08-14 13:20:41.621: W/System.err(6052):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
08-14 13:20:41.621: W/System.err(6052):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-14 13:20:41.621: W/System.err(6052):  at java.lang.reflect.Method.invoke(Method.java:511) 
08-14 13:20:41.621: W/System.err(6052):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
08-14 13:20:41.621: W/System.err(6052):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
08-14 13:20:41.621: W/System.err(6052):  at dalvik.system.NativeStart.main(Native Method) 
+0

당신은 SD 카드에있는 이미지에 액세스하기 위해 필요한 권한을 가지고 있습니까? 먼저 확인해야합니다 : http://stackoverflow.com/questions/17774471/issue-while-reading-an-excel-file-in-android/17785567#17785567 –

답변

1

아래에있어

File file=new File("sdcardpat"); 
    InputStream is=new FileInputStream(file); 
    Movie.decodeStream(is); 

처럼의 InputStream 사용하십시오. InputStream은 무엇이든 될 수 있습니다. 당신이 2GByte의에서 이미지를 사용하려면 다음 GifMovieView를 사용하는 경우 코드

File file=new File("sdcardpat"); 
    InputStream is=new FileInputStream(file); 
    Movie.decodeStream(is); 
+0

안녕하세요, fileinputstream을 사용할 때 오류가 발생합니다. pls 내 질문을 확인하십시오. – RVG

+0

올바른 이미지 경로를 제공하지 않은 것으로 보입니다. – Sameer

+0

내 질문에 오류를 추가했습니다. @sameer는 throw되는 io 예외입니다. 나는 올바른 길을 제시했다. – RVG

0

아래처럼 FileInputStream에를 사용는이 같은 작업을 할 수 있습니다. 나는 또한 문제가 있지만 그것의 작업처럼 그 일을했다 :

 mAdMovie = (GifMovieView) findViewById(R.id.movie_ad); 

     //Decode gif to Movie 
     FileInputStream fis = null; 
     try { 
      fis = new FileInputStream(mAdsManager.getCurrentAdvertisingFullPath()); 
     } catch (FileNotFoundException mE) { 
      mE.printStackTrace(); 
     } 

     BufferedInputStream bis = new BufferedInputStream(fis); 
     bis.mark(100000); 
     Movie movie = Movie.decodeStream(bis); 
     mAdMovie.setMovie(movie); 

원래 대답을 here

관련 문제