2011-04-15 67 views
3

我想编写代码来显示仅来自sdcard中特定 文件夹的图像。例如名为(/ sdcard/folder /)的文件夹。 我有以下代码,但它显示了 sdcard中的所有图像。我应该在下面的代码中添加/更改以实现我的目标 。图像,sdcard,android

我应该改变查询吗?如果是的话我应该如何改变它。

请帮帮我。 感谢

`

 String[] img = { MediaStore.Images.Thumbnails._ID }; 
     imagecursor = managedQuery(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, img, null,null, MediaStore.Images.Thumbnails.IMAGE_ID + ""); 
     image_column_index = imagecursor.getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID); 
     count = imagecursor.getCount(); 
     imagegrid = (GridView) findViewById(R.id.sdcard); 
     imagegrid.setAdapter(new ImageAdapter(getApplicationContext())); 
     imagegrid.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView parent, View v,int position, long id) { 
        System.gc(); 
        String[] proj = { MediaStore.Images.Media.DATA }; 
        actualimagecursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, proj,null, null, null); 
        actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
        actualimagecursor.moveToPosition(position); 
        String i = actualimagecursor.getString(actual_image_column_index); 
        System.gc(); 
       Intent intent = new Intent(getApplicationContext(), ViewImage.class); 
        intent.putExtra("filename", i); 
        startActivity(intent); 
      } 
     }); 
` 

回答

0
File folder = new File("/sdcard/images/"); 
File[] allFiles = folder.list(); 
//allFiles array contains the files in that folder 

解析文件,并得到你想要的。

1
imagecursor = managedQuery(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, img, null,null, MediaStore.Images.Thumbnails.IMAGE_ID + ""); 

在上面的行中,您只是传递给您SD卡路径(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI)。我会建议为你的路径(卡/ newfolder /),变量并传递到managedQuery

尝试在这个问题在这里Using ImageGallery to display images from the SD card?

+0

感谢张贴您的reply.I创建的变量PATH =环境的答案。 getExternalStorageDirectory()。toString()+“/folder";.How我现在应该写查询吗?请帮我解决这个问题。 – user707879 2011-04-15 16:41:33