2.DeviceAPI 소개

Edit

DeviceAPI는 넥사크로플랫폼 앱에서 모바일 장치의 기능을 사용할 수 있게 해주는 오브젝트의 모음입니다. 블루투스, WIFI를 비롯하여 카메라, GPS, 저장장치 및 센서 등과 같이 모바일 장치에 종속적인 기능을 앱에서 사용할 수 있게 해줍니다. 현재 지원하는 오브젝트와 기능은 다음과 같습니다. 각 오브젝트에 관한 자세한 내용은 넥사크로 스튜디오의 Help를 참조하십시오.

오브젝트

설명

Acceleration

모바일 장치의 가속도 정보를 얻을 수 있는 오브젝트입니다.

AudioPlayer

오디오 플레이어 오브젝트입니다.

AudioRecorder

오디오 레코더 오브젝트입니다.

Camera

모바일 장치의 카메라 앱을 이용하여 이미지를 얻는 오브젝트입니다.

Contact

연락처를 관리하는 오브젝트입니다.

ContactAddress

연락처의 주소 정보를 관리하는 오브젝트입니다.

ContactField

연락처 정보의 필드를 관리하는 오브젝트입니다.

ContactOrganization

연락처의 조직 정보를 관리하는 오브젝트입니다.

ContactPhoto

연락처의 사진 정보를 관리하는 오브젝트입니다.

ContactSet

연락처를 조회/추가/삭제/갱신하는 오브젝트입니다.

ExternalAPI

외부 기기, 모듈, 앱과 연동할 때 사용하는 오브젝트입니다.

FileDialog

파일을 오픈하거나 저장할 때 경로를 설정하는 파일 선택 대화상자 오브젝트입니다.

Geolocation

위치 정보를 제공하는 오브젝트입니다.

ImagePicker

앨범 앱으로부터 이미지를 가져오는 오브젝트입니다.

LiteDBConnection

데이터베이스와의 연결 정보를 제공하는 오브젝트입니다.

LiteDBStatement

데이터베이스로의 쿼리를 수행하는 오브젝트입니다.

Network

네트워크 연결 정보를 제공하는 오브젝트입니다.

Phone

전화걸기 기능을 제공하는 오브젝트입니다.

Sms

단문 메시지 송수신 기능을 제공하는 오브젝트입니다.

Vibrator

진동 기능을 관리하는 오브젝트입니다.

2.1DeviceAPI 오브젝트 사용하기

DeviceAPI는 모바일 환경에서만 동작하는 기능이기 때문에 넥사크로 스튜디오의 기본 컴포넌트로 등록되어 있지 않습니다. 따라서 DeviceAPI 오브젝트를 사용하려면 사용자가 넥사크로 스튜디오에서 등록하는 절차가 필요합니다.

DeviceAPI 오브젝트를 사용 등록하는 절차는 다음과 같습니다.

1

넥사크로 스튜디오의 Project Explorer에서 [TypeDefinition > Objects]를 더블 클릭하여 Objects 편집기를 오픈합니다.

그림 2-1typedefinition_objects_editor

2

편집기 우측의 Objects 표 하단의 + 버튼을 클릭하여 필요한 오브젝트 항목을 선택하면 하단에 새로운 오브젝트가 추가됩니다. 표에 등록된 오브젝트의 정보는 수정할 수 있으나 특별한 경우가 아니면 기본 값을 그대로 사용합니다. 추가된 오브젝트를 삭제하려면 오브젝트명 옆에 있는 - 버튼을 클릭합니다.

3

필요한 오브젝트를 모두 추가한 후 OK 버튼을 클릭합니다. 그러면 등록한 오브젝트가 프로젝트에 반영되며 자동으로 프로젝트가 재빌드됩니다. 추가된 오브젝트는 즉시 사용이 가능하며 다음과 같이 넥사크로 스튜디오 툴바에서 확인할 수 있습니다.

그림 2-2toolbar

2.2앱에서의 모바일 장치 리소스 접근 권한

앱에서 DeviceAPI를 사용하여 기능을 수행하려면 모바일 장치의 리소스에 접근할 수 있는 권한이 필요합니다. 안드로이드나 iOS 운영체제는 샌드박스 정책을 사용하기 때문에 앱 자신의 데이터 이외의 리소스에 접근할 때는 적절한 권한을 요구합니다. 그 권한 중에 사용자 개인 정보나 다른 앱에 영향을 미칠 수 있는 중요한 권한의 경우에는 사용자로부터 명시적으로 허가를 받도록 되어 있습니다.

예를 들어, 사진을 찍는 기능을 수행시 앱은 사용자에게 다음과 같은 권한이 필요함을 알리고 허가를 요청합니다. 한번 사용자로부터 권한을 허가받으면 권한 설정이 변경되거나 앱이 업데이트되기 전까진 더 이상 권한을 요청하지 않습니다.

그림 2-3Screenshot_20190211-164715

만일 접근 권한을 허용하지 않으면 앱 기능이 동작하지 않으며 기능을 수행하는데 필요한 권한을 사용자에게 표시하여 알려줍니다.

그림 2-4Screenshot_20190211-164729

앱에 부여된 권한의 상태는 모바일 장치의 설정 메뉴에서 확인 할 수 있습니다. 사용자가 이미 허가하거나 거부한 권한도 이곳에서 다시 설정이 가능합니다.

그림 2-5Screenshot_20190211-164506

모바일 운영체제나 보안 정책에 따라 요구 권한이 다르게 표시될 수 있습니다.