본문 바로가기

Programming/Windows&C#

[Windows/UWP] UWP First App 'Hello World'

728x90
반응형

 작업환경


 Windows 10 Pro


 Visual Studio 2017


UWP First App 'Hello World'


항상 프로그램 개발의 시작은 Hello World...


해당 프로젝트 링크는


https://docs.microsoft.com/ko-kr/windows/uwp/get-started/create-a-hello-world-app-xaml-universal


01. UWP App을 만든다.




이름은 간단하게 'Hello'로




버전은 나중에 앱을 개발하고 배포할때 해야하는 고민이니 걍 기본값으로 만든다.


02. App 파일 리스트


갓 생성된 프로젝트는 많은 파일을 포함하고 있다.


Assets에는 시작화면 또는 스토어에서 보여주는 이미지들인데 현재는 그냥 X표시가 있는 박스 이미지다.




Package.appxmanifest를 확인하니 시각적 자산이라는 메뉴가 있는데 여기서 이미지를 추가 수정 가능해 보인다. (추후 시도하는걸로...)



03. App.xml.cs



App.xml의 하위 파일인 App.xml.cs 파일에는 OnLaunched() 함수가 있다. 이 함수가 앱에서 실행되고 Life Cycle을 컨트롤 할 수 있는 함수이다.


OnLaunched()의 인자인 LaunchActivatedEventArgs e의 인자 값으로 실행 상태 (Life Cycle)을 받아 온다.


UWP Life Cycle은 추후 정리를 할 예정이지만 if 문에서  e.PreviousExecutionState 의 값으로 체크를 하는것을 확인 할 수 있다.


처음 시작엔 아래 if문에서 볼 수 있듯, ePrelaunchActivated 값이 false이고 rootFrame.Content의 값도 null이다. 


그래서 확인하기 위해 새로 MainPage를 추가하는 함수전에 Debug.WriteLine() 함수를 이용해서 디버깅 메시지를 확인 했다.



App이 실행되고 "App Run !!!!!!"이 출력 되는것을 확인 할 수 있다.



04. MainPage.xml



다음은 MainPage.xml에서 작업한다. 여기서는 해상도를 선택하면 작업 영역이 변하지만 지금은 중요하지 않다.


그냥 왼쪽에서 도구상자 -> 모든 XAML 컨트롤에서 버튼을 하나 선택 드래그해서 옴긴다.


그리고 상단 그림에 더블클릭이라고 했는데 버튼을 더블클릭을 하면 MainPage.xml.cs 파일에 함수가 하나 만들어진다.


해당 함수는 실제 앱이 실행될 떄 버튼을 누르면 동작하는 함수이다.


기본 예제에서는 "Hello World"를 소리내는 기능을 작동 시킨다.



기본 코드는 아직 이해하지 않아도 된다.


코드 3번째 줄에 보면 await 를 사용하고 있는데 비동기를 위해 사용한다.


따라서 Button_Click() 함수 앞에 async 키워드를 추가해야 한다.(처음엔 복붙했는데 오류 떠서 놀람...)



05. 결과



앱을 빌드해서 실행 후 버튼을 누르면 소리가 날 것이다. 


혹시나 한글을 실행 해 봤는데.... 아주 잘 읽었다.... ㄷㄷ 역시 마소...


반응형