우선 밑의 그림과 같이 특정 버튼을 클릭하면
사진을 불러옵니다(에뮬레이터에서는 SD카드에 저장된것을
모토로이(단말기)에서는 카메라 폴더에 있는것을 불러오더라구요)
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction( Intent.ACTION_GET_CONTENT );
intent.setType( "image/*" );
startActivityForResult( intent, REQ_IMAGE_SELECT );
}
위의 소스로 간단하게 됐습니다
그후 하나의 사진을 선택하면
내자동차 등록 화면에 차량이름 위에 그림이 떠야하는데 다른 기능은 전부 구현 했는데
사진 가져 와서 띄우는것을 못하겠네요 이해가 잘안됩니다
그리고 완료를 누르면 밑의 DB와 같이 저장이 됩니다
그때 picture컬럼에 사진(주소값??)이 저장되고
다시 화면으로 돌아갔을때 사진을 다음과 같이 뿌려줘야합니다
지금은 그냥 이미지를 아무거나 붙여놓은 상태입니다
다른 기능 구현 할 동안 계속 해봐도 안되서 미루고 미뤘는데
미치도록 안되네요 ㅠㅠ
제발 좀 도와주세요 회사 짤릴듯 합니다 ㅡㅠ
어떻게 해야하는지 비슷한 소스라도좀 알려주세요
도와주시면 밥이라도 크게 한번 사겠습니다(__) 정말 정말 도와주세요
다른 어떤분보니깐
onActivityResult()에 오버라이드하여
try {
Uri selPhotoUri = data.getData();
Bitmap selPhoto = Images.Media.getBitmap( getContentResolver(), selPhotoUri );
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
이것을 구현하면 가져올수 있다고 하셨는데
제가 배운지 한달 좀 더되었는데 많이 미숙해서 그런지 잘모르겠습니다
저기서 data.getData(); 에서
data는 무엇인가요?
이방법으로 하면 할수있는지요..
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
....
}
이클립스등에서 오버라이드 하면 위와 같은 코드가 생성되며(직접 타이핑하셔도 되구요)
data는 는 Intent data 이거겠고요.
아래의 코드처럼 uri에서 비트맵 이미지를 가져왔으므로 그걸 ImageView 에 setImageBitmap 으로 설정하면 될것 같구요.
아래의 코드는 이미지가 크면 에러가 날수도 있으므로 때로는 썸네일을 가져와야 할수도 있을것 같습니다.
Bitmap selPhoto = Images.Media.getBitmap( getContentResolver(), selPhotoUri );
파란코드님
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
try {
Uri selPhotoUri = intent.getData();
Bitmap selPhoto = Images.Media.getBitmap( getContentResolver(), selPhotoUri );
System.out.println("selPhotoUri : "+selPhotoUri);
System.out.println("selPhoto : "+selPhoto);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}// End of onActivityResult()
이런식으로 찍었을때
selPhotoUri : content://media/external/images/media/3
selPhoto : android.graphics.Bitmap@43bafd18
이런식으로 나왔습니다 그때 selPhotoUri 를 Db에 저장하고
selPhoto는 화면에 뿌려주는 사진인가요?
밑에서 차량이름옆에 있는것이 버튼인데요
그버튼을 클릭하여 사진을 위의 소스처럼 가져 왔습니다
그래서 버튼 위에 썸네일 처럼 사진을 뿌려주고 싶은데 그게 가능한가요?