C++ 예제 (Qt Android App 개발환경)

이미지
개요 이번 포스팅은 C++과 Qt 를 이용해 안드로이드 앱 을 만드는 과정을 진행할 계획입니다. 앱은 간단한 샘플로 제작하고, Qt를 이용해 C++ Android 개발환경을 구축 하는 방법에 대해 집중해 보았습니다. 저 또한 데스크탑 환경이 아닌 낯선 모바일 개발환경을 처음 접했을 때, 이 부분이 가장 어려웠습니다. 결과부터 살펴보면 PC와 폰을 연결해 Qt의 Cross Platform  을 이용, Windows 플랫폼에서 개발 -> Android 플랫폼에서 실행 으로 구성되어 있습니다. [Windows 10, LG G7 연결] [Qt 앱 실행화면] 물론 이 방법 외에도 안드로이드 앱을 만들 수 있는 개발환경은 다양합니다. Android Studio(Java or Kotlin),  Microsoft Xamarin(C#) 등 선호하는 방법으로 개발환경은 스스로 선택하면 되겠습니다.   개발 환경 구축 이 예제는 Windows 10 Pro 64bit 운영체제에서 구성, 작성되었습니다. 더불어, 아래의 구성요소들이 필요합니다.  Qt Android Studio Android NDK Java JDK   1. Qt 설치 Qt는 C++로 만들어진 Class들의 집합이며, 크로스 플랫폼을 지원합니다. GUI ( G raphic U ser I nterface) 개발에 주로 사용되지만, 네트워크, 블루투스, 3D, 쓰레드 등 다양한 분야의 클래스를 지원합니다.   설치 후 Qt의 통합개발환경인 Qt Creator를 통해

C++ 예제 (CPP REST SDK)

이미지
오늘은 Microsoft 에서 배포한 C++ REST SDK ( 코드명 : 카사블랑카 ) 를 이용해 Http Request 를 하는 내용에 대해 다룹니다. 목표 공공 데이터 포털의 시도별 코로나 정보를 REST API를 이용해 처리   바로 앞 예제에서 파이썬을 이용해 만들어 본 코로나 예제 와 개념은 동일하지만, C++을 이용해 시도해 보았습니다.   간단히 전반적인 개요 를 살펴보면, 1. 공공 데이터 회원 가입 (앞 게시물 참조) 2. 코로나 시도별 정보 권한(키) 획득 3. Microsoft REST SDK를 이용한 요청데이터 생성 및 전송 4. 응답 데이터 문자열(UTF-8) 수신 (XML or JSON), 신청 정보별로 다름 5. XML 파싱 후 MFC CListControl 에 출력 6. 전국 시도별 코로나 정보 획득   쿼리 요청 후 응답 결과는 아래와 같이 처리됩니다. [쿼리 요청 후 응답 데이터 리스트 컨트롤 출력] [응답 데이터 XML 문자열] 프로젝트 생성 과정 은 다음과 같습니다. 1. C++, MFC 대화상자 프로젝트 생성 2. 프로젝트 생성 후 솔루션 탐색기->프로젝트 우클릭 ->NuGet 패키지 관리 3. CPPREST 검색 후 해당 패키지 설치 4. 설치 후 솔루션 폴더 아래 Packages 폴더 설치 확인 이제 Microsoft 에서 만든 Rest SDK 를 이용해 C++로 코드 작성 준비가 완료 되었습니다.   MS REST SDK(카사블랑카)

파이썬 예제 (COVID-19 시도별 현황)

이미지
오늘은 공공데이터포털 에서 제공하는 OPEN API 를 이용해, 코로나 바이러스 시도별 감염현황 을 모니터링하는 프로그램을 만들어 보겠습니다. Python언어로 PyQt5 + Matplotlib + reqeusts 모듈을 활용했으며, 완성된 모습은 아래와 같습니다. [COVID-19 모니터링 프로그램]   대한민국 정부에서 제공하는 공공데이터 서버에 필요한 데이터를 Https Request 방식으로 정해진 쿼리를 요청하고 응답 데이터(XML or JSON)를 받아서 구성한 예제 입니다.   기본적인 개발 진행 순서 는 다음을 참조 바랍니다. 1. 공공데이터 포털 회원가입 (정부공개자료에서 정보를 받아오는 방식) 2. 공공데이터 중 관심 분야 검색 ("코로나") 3. 정보 활용신청 후 서비스키 확보 4. OPEN API 서비스 키를 이용해 요청신호 전송 후 응답 (XML)처리 OPEN API 대부분이 요청신호를 보내고, XML, JSON 형태를 응답받는 Http Request 방식으로 사용됩니다. [REQUEST, 요청신호 샘플] http://openapi.data.go.kr/openapi/service/rest/Covid19/getCovid19SidoInfStateJson?serviceKey=서비스키&pageNo=1&numOfRows=10&startCreateDt=20200831&endCreateDt=20200831 [RESPONSE, 응답신호 샘플] <?xml version="1.0" encoding="UTF-8" standalone="yes"?><response>&

파이썬 예제 (동영상 플레이어)

이미지
비디오 재생 예전 게시물 중 음악파일 플레이어 를 파이썬으로 만든 예제가 있습니다. Qt 의 QMediaPlayer , QMediaPlaylist class를 이용해 mp3 등 음악 파일을 재생하는 원리입니다. 아래와 같이 사용합니다. from PyQt5.QtWidgets import QApplication from PyQt5.QtMultimedia import QMediaPlaylist, QMediaPlayer, QMediaContent from PyQt5.QtCore import QUrl import sys if __name__ == '__main__': app = QApplication(sys.argv) playlist = QMediaPlaylist() url = QUrl.fromLocalFile('test.mp3') playlist.addMedia(QMediaContent(url)) player = QMediaPlayer() player.setPlaylist(playlist) player.play() sys.exit(app.exec_()) PlayList를 생성해 파일을 추가하고, Player의 play() 함수를 수행하면 음악이 재생됩니다. 이번에는 동영상 플레이어 (Video Player) 를 Python + PyQt5 를 이용해 만들어 보았습니다. 기본 원리는 위와 같지만 비디오을 출력할 위젯 (QVideoWidget)만 설정 하면 동영상이 재생되는 원리입니다. [동영상 재생 프로그램] 주요기능 재생 리스트에 동영상 파일 추가, 삭제 (*.avi. *.mp4, *.mkv, *.m

이 블로그의 인기 게시물

Qt Designer 설치하기

C++ 예제 (소켓 서버, 이미지, 파일전송)