使用Android Studio。我在app / main / src中创建了Asset文件夹。我将图像粘贴到资产文件夹中,方便访问。但是当我在资产文件夹中创建了一个名为" Files"并尝试阅读该图像。他们没有显示。请帮我看看放在名为" files"的文件夹中的图像。在资产文件夹中。
ImageView img = (ImageView) findViewById(R.id.img);
AssetManager manager = getAssets();
try {
String[] file = manager.list("Files");
for (int i = 0; i < file.length; i++) {
try {
InputStream imgStream ;
imgStream = manager.open(file[i]);
Bitmap bitmap = BitmapFactory.decodeStream(imgStream);
img.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:1)
尝试这样做。将此方法加载到您想要使用它的任何地方
public void loadDataFromAsset() {
// load image
try {
// get input stream
InputStream ims = getAssets().open("your_image.extension");
// load image as Drawable
Drawable d = Drawable.createFromStream(ims, null);
// set image to ImageView
yourImageView.setImageDrawable(d);
}
catch(IOException ex) {
return;
}
}
我希望它有所帮助!!!
答案 1 :(得分:0)
我知道这是一个迟到的回复,但我和你一样尝试... 唯一缺少的是函数open中的文件路径。它也不适合我使用Bitmap,但使用Drawable。 试试这个,它应该工作。 :)
ImageView img = (ImageView) findViewById(R.id.img);
AssetManager manager = getAssets();
try {
String[] file = manager.list("Files");
for (int i = 0; i < file.length; i++) {
try {
InputStream imgStream ;
imgStream = manager.open("Files/" + file[i]);
Drawable d = Drawable.createFromStream(imgStream, null);
im.setImageDrawable(d);
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}