[英]how to read images from “Drawable” instead of “SD Card” Android
[英]Trying to load and read images from SD card android
创建应用程序时,我试图将我拥有的所有图像加载到手机SD卡上。 然后,我有一个按钮,当我单击该按钮时,应显示下一张图像。
到目前为止,我已经将此代码包含在onCreate()方法中,但是我不知道如何将多个图像添加到文件夹中。
File sdCardDirectory = Environment.getExternalStorageDirectory();
File image = new File(sdCardDirectory, "uct.png");
boolean success = false;
// Encode the file as a PNG image.
FileOutputStream outStream;
try {
outStream = new FileOutputStream(image);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
/* 100 to keep full quality of the image */
outStream.flush();
outStream.close();
success = true;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
目前,我有一个图像ID数组,这些图像目前存储在Drawable文件夹中。
int[] images = {R.drawable.img1,R.drawable.img2,R.drawable.img3,R.drawable.img4};
然后,我有一个onClick()方法,可以增加一个私有索引变量来像这样设置Image Resource(此处imgView是ImageView)。
imgView.setImageResource(images[current_image_index]);
首先,我不知道如何在onCreate()方法中向SD卡添加多个图像。 另外,我不确定单击按钮时从SD加载“正确”图像的最佳方法是什么。
我希望这是有道理的,请备注是否需要澄清。
如果我在你的情况下,
创建ViewPager以显示所有图像。
您可以使用此代码获取所有图片的网址。
String[] STAR = {"*"}; ArrayList<String> imageUri = new ArrayList<>(); Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI , STAR, null, null, null); if (cursor != null) { if (cursor.moveToFirst()) { do { String path = cursor.getString(cursor .getColumnIndex(MediaStore.Images.Media.DATA)); Log.i("Path", path); imageUri.add(path); getDate(path); } while (cursor.moveToNext()); } }
您可以将imageUri ArrayList传递给Viewpager适配器。在viewPager适配器上,您可以使用任何图像库来加载图像。 如果是毕加索 。
Picasso.with(context).load(uri).resize(150,150).centerCrop().into(imageView);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.