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

조회수 5650회

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

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을 쓰시면 됩니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)