1. 程式人生 > >掃描指定目錄下所有圖片檔案

掃描指定目錄下所有圖片檔案

<span style="font-size:18px;">            String myparent=newPath.substring(0, newPath.lastIndexOf("/")).substring(newPath.substring(0, newPath.lastIndexOf("/")).lastIndexOf("/")+1);
			 Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;  
             ContentResolver mContentResolver =getContentResolver();  
             String[] projection = { MediaStore.Images.Media._ID, MediaStore.Images.Media.BUCKET_ID, MediaStore.Images.Media.BUCKET_DISPLAY_NAME, MediaStore.Images.Media.DISPLAY_NAME,
 					MediaStore.Images.Media.DATA };
             //只查詢jpeg的圖片  
             Cursor mCursor = mContentResolver.query(mImageUri, projection,  
            		 MediaStore.Images.Media.BUCKET_DISPLAY_NAME + "=? and (" + MediaStore.Images.Media.MIME_TYPE + "=? or " + MediaStore.Images.Media.MIME_TYPE + "=?)",
                     new String[]{myparent, "image/jpeg", "image/png"},null);  
             if (mCursor == null) {
 				Toast.makeText(getBaseContext(), "請裝入SD卡, 或者相簿沒有照片", Toast.LENGTH_SHORT).show();
 			}
             myimages.clear();
 			while (mCursor.moveToNext()) {
 				// 獲取的圖片的id
				int id = mCursor.getInt(mCursor.getColumnIndex(MediaStore.Images.Media._ID));
				// 圖片所在當前目錄id
				int parentiD = mCursor.getInt(mCursor.getColumnIndex(MediaStore.Images.Media.BUCKET_ID));
				// 圖片所在當前目錄名稱
				String parentname = mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.BUCKET_DISPLAY_NAME));
				// 圖片名稱
				String imagename = mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME));
				// 獲取圖片的路徑
				String path = mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DATA));
				ImageInfo imageInfo=new ImageInfo(id, imagename, path, parentiD, parentname);
				imageInfo.setId(id);
				imageInfo.setParentID(parentiD);
				imageInfo.setParentName(parentname);
				imageInfo.setImageName(imagename);
				imageInfo.setPath(path);
				myimages.add(imageInfo);
 			}
 			mCursor.close();</span>