2011-10-19 10 views
3

私のデバイスからのすべての画像をリストしているコードを使用しています...画像を取得する方法をすべての画像ではなく特定のフォルダから取得しようとしています。ここで私が使用しているコードは次のとおりです。Androidはsdcardから画像を取得します

ArrayList<Bitmap> images = new ArrayList<Bitmap>(); 
String[] projection = {MediaStore.Images.Thumbnails.DATA}; 
Uri uri = Uri.parse("content://media/external/images/media"); 
cursor = managedQuery(uri, projection, null, null, null); 
//cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, null); 
Log.i("MediaStore.Images.Media.EXTERNAL_CONTENT_URI", "MediaStore.Images.Media.EXTERNAL_CONTENT_URI: " + MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
if(cursor.getCount()==0){ 
    Log.i("No Cards","No Cards"); 
    cursor.close(); 
} else if(cursor.getCount()>0){   
for(cursor.moveToFirst(); cursor.moveToNext(); cursor.isAfterLast()){ 
    int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
    String imagePath = cursor.getString(columnIndex); 
    Log.i("imagePath", "imagePath: " + imagePath); 
    Bitmap b = BitmapFactory.decodeFile("/Stampii" + imagePath, null); 
    images.add(b); 
    } 
    } 

私がやりたい事はimagePath: /mnt/sdcard/Stampii/MediaCategory-251.jpg Stampiiフォルダから画像を取得することですが、私は、そのフォルダへの正しいパスを入力する方法を理解することはできません。私はすでに試してみました:

Uri uri = Uri.parse("content://media/external/images/media/mnt/sdcard/Stampii"); 

すべての解決策はありますか?

答えて

6

使用

File file = new File(Environment.getExternalStoragePath()+"/Stampii/"); 

file imageList[] = file.listFiles(); 

for(int i=0;i<imageList.length;i++) 
{ 
    Log.e("Image: "+i+": path", imageList[i].getAbsolutePath()); 

    Bitmap b = BitmapFactory.decodeFile(imageList[i].getAbsolutePath()); 

    images.add(b); 

} 
関連する問題