안드로이드에서 CAD, PDF 등의 파일 보기

안드로이드 디바이스에 저장된 CAD나 PDF 등과 같은 파일을 볼 수 있는 손쉽고 강력하며 안정적인 방법은 각각 파일을 볼 수 있는 책임성이 뛰어난 앱을 활용하는 것이라 할 수 있습니다. 예를 들어서 CAD 파일을 볼 수 있는 앱은 CAD 파일을 개발한 AutoDesk사의 AutoCAD 360이나 AutoDwg사의 DWGSee가 있으며 PDF 파일을 볼 수 있는 앱은 PDF 파일을 개발한 Adobe사의 Adobe Reader가 있습니다.

개발사가 업무용 프로그램을 개발하면서 경험하게 되는 요구사항은 고객이 가지고 있는 데이터 파일을 볼 수 있게 해달라는 것인데, GIS 분야에서는 DWG나 DXF와 같은 CAD 파일과 일반 문서인 PDF 파일이 바로 이러한 요구사항에 해당되는 데이터 파일이라고 할 수 있겠습니다.

이러한 데이터 파일을 별도의 앱과 연동하여 볼 수 있는 샘플 프로그램을 만들어 정리해 봅니다. 화면상에 2개의 버튼을 배치하고 첫번째 버튼을 터치하면 CAD 파일을 보고 두번째 버튼을 터치하면 PDF 파일을 볼 수 있도록 하겠습니다. 아래는 이러한 버튼의 배치 화면입니다.

사용자 삽입 이미지

첫번째 버튼인 CAD File View의 터치 이벤트에서 호출되는 함수입니다.

Intent intent = new Intent(Intent.ACTION_DEFAULT);
File file = new File("/sdcard/mapdata/dwg/samples.dwg");
if(file.exists()) {
    Uri uri = Uri.fromFile(file);
    intent.setData(uri);
    startActivity(intent);
}

이 버튼을 터치하면 아래의 화면 예처럼 지정된 파일을 볼 수 있습니다.

사용자 삽입 이미지

다음은 두번째 버튼인 PDF File View의 터치 이벤트에서 호출되는 함수입니다.

intent = new Intent(Intent.ACTION_DEFAULT);
File file = new File("/sdcard/e10842.pdf");
if(file.exists()) {
    Uri uri = Uri.fromFile(file);
    intent.setData(uri);
    startActivity(intent);
}

이 버튼을 터치하면 아래의 화면 예처럼 지정된 파일을 볼 수 있습니다.

사용자 삽입 이미지

안드로이드에서 이러한 프로그램들의(정확히는 Activity 간의) 연동은 매우 자연스러우며 매우 빠르게 실행됩니다. 그리고 다시 원래의 프로그램으로 자연스럽고 신속하게 복귀되어 마치 하나의 프로그램처럼 연동됩니다.

비록 간단한 내용이지만 고객의 요구사항에 대해서 빠르고 정확하게 수용할 수 있다는 점에서 정리해 봅니다. 그러나 이 방식의 단점은 특정한 데이터 파일을 볼 수 있는 앱을 별도로 설치해줘야 한다는 점입니다. 위의 코드들을 위해 제가 설치한 프로그램은 DWGSee와 Adobe Reader였습니다.