更改本教程以访问SD卡中的图像?

时间:2010-08-09 12:04:20

标签: android image

我如何编辑本教程以便从SD卡中获取图像?

http://developer.android.com/guide/tutorials/views/hello-gallery.html

          private Integer[] mImageIds = {
        R.drawable.lol.marker,
        R.drawable.sample_2,
        R.drawable.sample_3,
        R.drawable.sample_4,
        R.drawable.sample_5,
        R.drawable.sample_6,
        R.drawable.sample_7
        };

或者可以在R.drawable中创建子文件夹吗?

1 个答案:

答案 0 :(得分:2)

R.drawable不是目录,而是包含静态字段的类,这些字段是对资源的引用。您无法在“drawable”目录中创建子文件夹。
现在,如果要通过SD卡上的图像替换此数组ID,则必须使用内容解析程序来获取它们。我猜想会是这样的:

Cursor c = this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,null);
startManagingCursor(c);  

然后当你检索到你想要的图像的id时,你可以将它们放在数组中并使用类似的东西来显示它们:

yourImageView.setImageURI(Uri.withAppendedPath(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, id+"")); 

修改
你可以试试这样的东西。虽然我不确定:

 Bitmap bitmap = BitmapFactory.decodeFile("path/to/the/image.png");
  yourImageView.setImageBitmap(bitmap);