将图像存储并流入阵列

时间:2013-06-04 12:20:23

标签: android arrays sorting android-image

当我为触摸滑动画廊编写代码时,我最终陷入了死胡同......或者在我看来。 首先,我将一些drawable存储到一个数组中:

private int[] SeqImages = new int[] {
R.drawable.img1,
R.drawable.img2,
R.drawable.img3,
R.drawable.img4
};

然后我编写了这段代码来对图像进行排序:

...
imageView.setImageResource(SeqImages[position]);
((ViewPager) container).addView(imageView, 0);
return imageView;
...

它就像一个魅力! 但是......愚蠢的我!我需要对存储在sd文件夹中的图像做同样的事情,我有点迷失。我想列出如下文件:

File imglista = new File("/path/of/my/pics");
String[] imginfolder = imglista.list();

显然这不是解决方案......有人有更好的想法吗? THX给所有人。

1 个答案:

答案 0 :(得分:0)

要从文件夹中获取所有文件,请使用Environment.getExternalStorageDirectory()作为SDCARD路径而不是传递静态字符串,请将其作为:

 String root_sd = Environment.getExternalStorageDirectory().toString();
 imglista = new File( root_sd + "/images_path_on_sdcard" ) ;       
 File imginfolder[] = imglista.listFiles();

并确保您在AndroidManifest.xml中添加了SD-CARD权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

编辑用于在SD-CARD中显示ImageView中的图像,使用BitmapFactory.decodeFile执行此操作:

 Bitmap bitmap = BitmapFactory.decodeFile(imginfolder[position].getAbsolutePath());
 ...
 img_view.setImageBitmap(bitmap);