안드로이드 개발 질문/답변
(글 수 45,052)
어플에서 버튼 클릭시 갤러리로 연동되는데
사진 클릭시 클릭된 이미지를 어플로 불러오려고 합니다. <<지금 안되는 부분이 이 부분 ㅠㅠ...
어떻게 받아올수있을까요 ?
-------여태한 소스 ---------------
public class ImageEdit extends Activity {
protected static final int REQ_IMAGE_SELECT = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.imageedit);
Button btn02 = (Button)findViewById(R.id.Button02);
btn02.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.setType("image/*");
startActivityForResult(i, REQ_IMAGE_SELECT);
}
});
}
}
자답]
했어요 !!!
public class ImageEdit extends Activity {
private Bitmap profileBitmap;
private ImageView profileView;
private int TAKE_GALLERY = 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.imageedit);
profileView =(ImageView)findViewById(R.id.ImageView03);
Button btn02 = (Button)findViewById(R.id.Button02);
btn02.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.setType("image/*");
startActivityForResult(i, TAKE_GALLERY);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
Uri currImageUri = data.getData();
BitmapFactory.Options bfo = new BitmapFactory.Options();
bfo.inSampleSize = 2;
profileBitmap = BitmapFactory.decodeFile(getRealPathFromURI(currImageUri), bfo);
profileView.setImageBitmap(profileBitmap);
}else if(resultCode != RESULT_OK){
return;
}
}
public String getRealPathFromURI(Uri contentUri){
String []proj = {MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
}