2014-04-15 3 views
1

저는 Android 개발에 처음 왔습니다. Android 기기 갤러리에서 이미지 또는 동영상을 선택하고 싶습니다. 유형은 File 인 변수에 저장하십시오. 내 응용 프로그램에서 안드로이드 API를 사용하여 dropbox에 이미지/비디오를 업로드해야하므로이 작업을 수행하고 있습니다. 생성자는 파일의 네 번째 매개 변수를 사용합니다. 나는 확실하지 않다. 내가 검색 한 모든 예제가 URL을 사용하고 ImageView에서 선택한 이미지를 표시하고 비트 맵을 만든 이후로 파일로 전달할 내용이 확실하지 않다.Android - 갤러리에서 이미지를 선택하고 파일 유형 변수에 저장

imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); 

여기 코드가 있습니다.

final Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT); 
//to get image and videos, I used a */" 
galleryIntent.setType("*/*"); 
startActivityForResult(galleryIntent, 1); 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == 1 && resultCode == RESULT_OK) {    
    Uri selectedImageUri = data.getData(); 
    imagepath = getPath(selectedImageUri);     
    } 
} 

public String getPath(Uri uri) { 
    String[] projection = { MediaStore.Images.Media.DATA }; 
    Cursor cursor = getContentResolver().query(uri, projection, null, null, null); 
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
    cursor.moveToFirst();     
    int columnIndex = cursor.getColumnIndex(projection[0]); 
    String filePath = cursor.getString(columnIndex); 
    cursor.close();   
    yourSelectedImage = BitmapFactory.decodeFile(filePath); 
    return cursor.getString(column_index); 
} 
+1

을 시도 할 수보십시오. – Raghunandan

답변

4

당신은 당신이 갤러리에서 선택한 이미지의 경로와 File 변수를 생성하기 만하면됩니다. 변경하여 OnActivityResult 같이

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == 1 && resultCode == RESULT_OK) {    
    Uri selectedImageUri = data.getData(); 
    imagepath = getPath(selectedImageUri); 
    File imageFile = new File(imagepath); 
    } 
} 
+0

고마워요 :) @Raghunandan –

+0

@pranavshah 이것이 당신에게 도움이된다면이 대답을 받아 들일 수 있습니다. – AndyN

+0

@ User22791에게 알려 주셔서 감사합니다. 나는 당신에게 알리려고했지만 어떻게 든 할 수 없었다. –

0

는 당신이 필요로하는 모든 업로드 할 이미지의 경로입니다 갤러리에있는 경우이

당신이 또한

public void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 

    if (requestCode == 1 && resultCode == RESULT_OK && data != null) 
    { 
     File destination = new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis() + ".jpg"); 
//You will get file path of captured camera image 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     iv_profile.setImageBitmap(photo); 
    } 
} 
관련 문제