资产文件夹中的更新图像未在启动应用程序中显示

时间:2014-01-22 06:15:44

标签: android

是否有可能在app的每次更新时更新资产文件夹。我制作一个测验应用程序,它在资产文件夹上有图像。当我启动应用程序时,文件夹上显示的图像数量。但是当我更新资产文件夹上的图像时说从10-20张图片中,在应用程序上显示的实际图像总数是20但我仍然看到10张图片。但是当我卸载并安装应用程序时,我确实看到所有20张图片。如何更新资产文件夹而不卸载应用程序?

String[] getImagesFromAssets() {
    String[] img_files = null;

    try {
        img_files = getAssets().list("pictures");
    } catch (IOException ex) {
        Logger.getLogger(GameActivity.class
                .getName()).log(Level.SEVERE, null, ex);
    }
    return img_files;
}

void loadImage(String name) {
    try {
        InputStream ims = getAssets().open("pictures/" + name);

        Drawable d = Drawable.createFromStream(ims, null);
        image.setImageDrawable(d);

    } catch (IOException ex) {
        return;
    }
}

2 个答案:

答案 0 :(得分:2)

Android应用程序的AFAIK Assets文件夹仅在安装时初始化一次。打包并安装应用程序后,无法更新assets文件夹。安装后如果您对资源进行任何更改,它将不会反映到您的旧安装版本。由于Asset文件夹是只读的,您无法编写或更新其中存在的任何文件。

如果要更新它,则需要卸载旧版本并安装新版本。

答案 1 :(得分:0)

您可以使用此功能从资产中获取图片:

AssetManager assetManager = getAssets();
            InputStream istr = null;
            try {
                istr = assetManager.open(strName);
            } catch (IOException e) {
                e.printStackTrace();
            }
            Bitmap bitmap = BitmapFactory.decodeStream(istr);