相关疑难解决方法(0)

IOException - 无法加载文件

我有一个显示GIF图像的应用程序.如果图像保存在drawable中,一切正常,我就像这样访问它

is=context.getResources().openRawResource(R.drawable.mygif);
movie = Movie.decodeStream(is);
Run Code Online (Sandbox Code Playgroud)

但我需要从互联网上下载图像,所以我将它保存到CacheDir,这很好.我尝试了下面的内容来阅读它.

    try
    {
        is = new BufferedInputStream(new FileInputStream(new File(context.getCacheDir(), "mygif.gif")));
    }
    catch (FileNotFoundException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    movie = Movie.decodeStream(is);
Run Code Online (Sandbox Code Playgroud)

还有这个

movie = Movie.decodeFile(new File(context.getCacheDir(), "mygif.gif").getPath());
Run Code Online (Sandbox Code Playgroud)

但无论如何,它都以

java.io.IOException
at java.io.InputStream.reset(InputStream.java:218)
at android.graphics.Movie.decodeStream(Native Method)
at android.graphics.Movie.decodeTempStream(Movie.java:74)
at android.graphics.Movie.decodeFile(Movie.java:59)
Run Code Online (Sandbox Code Playgroud)

要么

java.io.IOException: Mark has been invalidated.
at java.io.BufferedInputStream.reset(BufferedInputStream.java:350)
at android.graphics.Movie.decodeStream(Native Method)
Run Code Online (Sandbox Code Playgroud)

我认为这是一个非常简单的错误,但我无法克服它.清单有:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Run Code Online (Sandbox Code Playgroud)

file-io android ioexception

6
推荐指数
1
解决办法
4921
查看次数

我想通过我的应用程序在主布局背景中设置保存在SD卡上的图像

我正在创建一个应用程序,我想在主xml linearlayout中设置不同的背景图像.我已经在SD卡上存储了5个图像文件.现在我想选择一张图片并将其设置为我的maim xml linearlayout background.so它将取代上一张图像并将新图像显示为背景.

android android-sdcard android-layout

5
推荐指数
1
解决办法
7302
查看次数