안드로이드에서 사진 메타데이터를 받아오는 방법


제가 알기로는 사진도 음악파일처럼 메타데이터가 있다고 알고있는데요. 사진을 찍을때의 이미지 크기, 화소, 날짜 같은게 저장되있다고 들었어요. 저는 사진을 찍은 날짜값을 받아오고 싶은데 어떻게 받아올수 있을까요?

  • 2016년 02월 11일에 작성됨

조회수 427


1 답변


좋아요
0
싫어요
채택취소하기

안드로이드의 ExifInterface라는 클래스가 해당 기능을 지원해줍니다.

String filename = "파일의 경로";
try {
    ExifInterface exif = new ExifInterface(filename);
    showExif(exif);
} catch (IOException e) {
    e.printStackTrace();
    Toast.makeText(this, "Error!", Toast.LENGTH_LONG).show();
}

ExifInterface를 사용할때는 꼭 예외처리를 해주셔야합니다.

private void showExif(ExifInterface exif) {

    String myAttribute = "[Exif information] \n\n";

    myAttribute += getTagString(ExifInterface.TAG_DATETIME, exif);
    myAttribute += getTagString(ExifInterface.TAG_FLASH, exif);
    myAttribute += getTagString(ExifInterface.TAG_GPS_LATITUDE, exif);
    myAttribute += getTagString(ExifInterface.TAG_GPS_LATITUDE_REF, exif);
    myAttribute += getTagString(ExifInterface.TAG_GPS_LONGITUDE, exif);
    myAttribute += getTagString(ExifInterface.TAG_GPS_LONGITUDE_REF, exif);
    myAttribute += getTagString(ExifInterface.TAG_IMAGE_LENGTH, exif);
    myAttribute += getTagString(ExifInterface.TAG_IMAGE_WIDTH, exif);
    myAttribute += getTagString(ExifInterface.TAG_MAKE, exif);
    myAttribute += getTagString(ExifInterface.TAG_MODEL, exif);
    myAttribute += getTagString(ExifInterface.TAG_ORIENTATION, exif);
    myAttribute += getTagString(ExifInterface.TAG_WHITE_BALANCE, exif);

    mView.setText(myAttribute);
}

이런 식으로 해당 태그의 값을 받아올수있습니다. 여기서 날짜를 받아오시길 원하시는거니 ExifInterface.TAG_DATETIME을 쓰시면 됩니다.

  • 2016년 02월 11일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close