2016-12-08 2 views
-2

임 내가 왜 java.lang.NullPointerException이 같은 예외를 얻고 카메라에서 촬영 된 이미지의 URI를 얻으려고 노력 : URI,java.lang.NullPointerException이 : URI

여기 내 코드입니다.

Uri selectedImage = data.getData(); 


file = new File(URI(selectedImage)); 

public String URI(Uri contentUri) 
{ 
     Cursor cursor = null; 

try 
{ 




String[] proj = {MediaStore.ACTION_IMAGE_CAPTURE}; 

    cursor=getActivity().getContentResolver().query(contentUri,proj,null,null,null); 
     intcolumn_index=cursor.getColumnIndexOrThrow(MediaStore.ACTION_IMAGE_CAPTURE); 
      cursor.moveToFirst(); 
      return cursor.getString(column_index); 
     } finally { 
      if (cursor != null) { 
       cursor.close(); 
      } 
     } 
    } 
+0

귀하의 logcat을 게시 하시겠습니까? – Raghavendra

+0

UploadFragment : java.lang.NullPointerException : uri. – Abilash

+0

내 의견을 편집하겠습니다 !! 전체 오류 로그를 게시 할 수 있습니까? – Raghavendra

답변

1

이 코드에는 불완전하다는 사실을 무시하고 많은 문제가 있습니다. 귀하의 말씀을 토대로 을 ACTION_IMAGE_CAPTURE으로, 그리고 귀하의 질문에있는 코드를 onActivityResult()이라고 가정하겠습니다.

먼저 ACTION_IMAGE_CAPTURE의 결과는 Uri을 제공하지 않습니다. EXTRA_OUTPUTACTION_IMAGE_CAPTUREIntent에 사용한 경우 이미지는 EXTRA_OUTPUT에 입력 한 값에 따라 요청한 위치에 있어야합니다. 그렇지 않은 경우 data.getExtra("data")에서 작은 이미지 크기 이미지를 나타내는 Bitmap이 반환됩니다.

selectedImagenull이 아니더라도, file = new File(URI(selectedImage));은 완전히 의미가 없습니다. AFAIK, 그 줄도 컴파일되지 않을거야. 그것은 한 경우에도 UriMediaStore.ACTION_IMAGE_CAPTUREMediaStore에서 검색 할 수있는 유효한 열 수 없습니다하는 File.

셋째 없습니다.

넷째, MediaStore은 카메라 앱이 찍은 사진에 대해 알고 있다고 가정합니다. 카메라 앱이이 사진에 대해 MediaStore에게 알릴 필요는 없습니다.

FWIW, this sample appACTION_IMAGE_CAPTURE을 사용하여 사진을 찍은 다음 ACTION_VIEW과 함께 해당 이미지에 Uri을 사용하여 이미지를 봅니다.

관련 문제