내가 가진 문제를 파악하는 데 약간의 도움이 필요합니다. 전화상의 모든 이미지를 쿼리하여 GridView에 표시하는 응용 프로그램이 있습니다. 나는 이것을 할 수 있었고 그 목록을 채울 수 있었다. 문제는 목록에 액세스하고 쿼리의 항목에서 정보를 가져 오는 경우입니다. 항목이MediaStore를 사용하여 GridView에 모든 이미지를 표시하는 방법
/mnt/sdcard/images/media/file.jpg
의 파일 경로를 가지고 있지만 경로는
/SDCARD/이미지/미디어/파일인지 커서가 나에게 말하고있다 .jpg
이것은 목록을 채우는 데 사용한 코드입니다.
// Set up an array of the Thumbnail Image ID column we want
String[] projection = {MediaStore.Images.Thumbnails._ID};
// Create the cursor pointing to the SDCard
//returns the cursor that checks the sdcard for Thumbnail id's
cursor = managedQuery(
MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
projection,
// Which columns to return
null,
// Return all rows
null,
MediaStore.Images.Thumbnails.IMAGE_ID);
// Get the column index of the Thumbnails Image ID
columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);
항목이 실제로 표시되지만 다른 커서에서 검색 할 때 경로가 잘못되었습니다. ?????? 나는 조금 길다.
나는 그것을 에뮬레이터 및 물리적 장치에서 사용했습니다. 같은 문제. 경로가 NULL이고 프로그램이 손상되었다는 오류가 표시됩니다.
MediaStore에서 EXTERNAL_CONTENT_URI를 쿼리하고 필요한 올바른 경로를 제공 할 수있는 방법이 있습니까? 또한 물리적 인 전화에서 사용했을 때 이미지가있는 sdcard의 첫 번째 디렉토리에 질의가 중지되고 더 많은 디렉토리를 쿼리 할 수있는 방법이 있습니까?