是否有可能在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;
}
}
答案 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);