我在用下面的代码。在执行Movie.decodeFile(pathName)时,我得到了IOException。
Movie movie;
File dir = Environment.getExternalStorageDirectory();
File file = new File(dir,"weather.gif");
String pathName = file.getAbsolutePath();
Log.d("rvg", "Path: "+pathName);
if(file.exists())
{
Log.d("rvg", "image available");
movie=Movie.decodeFile(pathName);
}
else
{
Log.d("rvg", "image not available");
}Logcat异常:
08-19 05:55:43.271: D/rvg(1458): Path: /mnt/sdcard/weather.gif
08-19 05:55:43.271: D/rvg(1458): image available
08-19 05:55:43.271: W/System.err(1458): java.io.IOException
08-19 05:55:43.271: W/System.err(1458): at java.io.InputStream.reset(InputStream.java:218)
08-19 05:55:43.271: W/System.err(1458): at android.graphics.Movie.decodeStream(Native Method)
08-19 05:55:43.271: W/System.err(1458): at android.graphics.Movie.decodeTempStream(Movie.java:74)
08-19 05:55:43.271: W/System.err(1458): at android.graphics.Movie.decodeFile(Movie.java:59)
08-19 05:55:43.271: W/System.err(1458): at com.android.gif.GIFDemo$GIFView.<init>(GIFDemo.java:64)
08-19 05:55:43.271: W/System.err(1458): at com.android.gif.GIFDemo$1.run(GIFDemo.java:36)
08-19 05:55:43.271: W/System.err(1458): at android.os.Handler.handleCallback(Handler.java:615)
08-19 05:55:43.271: W/System.err(1458): at android.os.Handler.dispatchMessage(Handler.java:92)
08-19 05:55:43.271: W/System.err(1458): at android.os.Looper.loop(Looper.java:137)
08-19 05:55:43.271: W/System.err(1458): at android.app.ActivityThread.main(ActivityThread.java:4745)
08-19 05:55:43.271: W/System.err(1458): at java.lang.reflect.Method.invokeNative(Native Method)
08-19 05:55:43.271: W/System.err(1458): at java.lang.reflect.Method.invoke(Method.java:511)
08-19 05:55:43.271: W/System.err(1458): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
08-19 05:55:43.271: W/System.err(1458): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-19 05:55:43.271: W/System.err(1458): at dalvik.system.NativeStart.main(Native Method)我想从sdcard加载gif图像。如何解决这个问题?如果可绘制文件夹中的gif图像。工作得很好。但无法从sdcard加载。给我解决办法。
发布于 2013-08-19 06:29:50
您需要使用InputStream和BufferSize,同时从SDCARD加载.GIF图像。肯定会成功的。
请跟随this link获得更多帮助。如果有帮助请告诉我。
https://stackoverflow.com/questions/18307266
复制相似问题