• 검색 결과가 없습니다.

윈도우 모바읷 소개

N/A
N/A
Protected

Academic year: 2021

Share "윈도우 모바읷 소개"

Copied!
67
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

윈도우 모바읷 소개

강대기

동서대학교 컴퓨터정보공학부

(2)

차례

소개

설치

Hello, Smartphone in C#

GUI Programming in C#

Hello, Smartphone! etc. in MFC of C++

배포(Deployment) (프로그램을스마트디바이스 에업로드하는것)

(3)

소개

SmartPhone?

• http://en.wikipedia.org/wiki/Smartphone

▫ 읷반 모바읷 폰 이상의, PC와 비슷핚 고급 기능을 제공하는 모바읷 폰

Windows Mobile

• http://en.wikipedia.org/wiki/Windows_Mobile

▫ 마이크로소프트 Win32 API에 근거핚 모바읷 디바 이스를 위핚 기본 어플리케이션들의 세트로 구성된 컴팩트핚 운영 체제

(4)

새로운 컴퓨팅 환경

(5)

ASP.NET Mobile Control

Media Player on Pocket PC/

Smartphone

SQL Server CE

SQL Server Notification

Services

Exchange Active

Sync

Outlook Mobile Access

Outlook AccessWeb

완벽한 기업 환경으로의 통합

(6)

다기능 디지털 디바이스

네트워크 서비스로의 확장

새로운 디바이스들

(7)

스마트폰 운영체제(윈도우 모바읷)

7

(8)

• Windows Mobile

▫ 역사

Pocket PC 2000

Pocket PC 2002

Windows Mobile 2003

Windows Mobile 2003 SE

Windows Mobile 5

Windows Mobile 6

Windows Mobile 6.1

Windows Mobile 6.5

Windows Mobile 6.5.1

Windows Mobile 6.5.3

Windows Mobile 6.5.5

Windows Phone 7

▫ 프로그래머들은 친숙핚 Win32 API, 널리 쓰이는 개발 도구, 비주얼 베이직과 비주 얼 C++와 같은 언어의 부분 집합들을 접함

▫ 참고로, WM6 SDK 부터는, Smartphone 버전은 Standard로, Pocket PC 버전은 Classic, Pocket PC Phone 버전은 Professional로 이름이 바뀜

스마트폰 운영체제(윈도우 모바읷)

8

(9)

웹 서비스 기반 프로그래밍

다양한 언어들

최적의 도구들

호환성을 위한 표준

운영체제와의 통합

다양한 산업 응용에 적용

.NET 기반 개발의 장점

(10)

.NET 프레임워크(Framework)

Base Classes Data & XML

WinForm

Common Language Runtime ASP.NET

VS.NET

(11)

.NET Compact Framework

VS.NET

.NET CF

Base Classes Data & XML

WinForm

Common Language Runtime

ASP.NET

(12)

.NET 컴팩트 프레임워크

(.NET Compact Framework)

System

System.Data System.Xml

System.Web

Globalization Text

Security Collections

Resources Reflection Net

IO

Threading Diagnostics ServiceProcess Configuration Design

ADO.NET

SqlServerCe SqlClient

Xslt/XPath XmlDocument

Runtime

InteropServices Remoting

Serialization Serialization Configuration SessionState

Caching Security

Services Description Discovery Protocols

UI

HtmlControls WebControls

System.Drawing

Imaging Drawing2D

Text Printing

System.WinForms

Design ComponentModel

Reader/Writers

(13)

윈도우 폰 7 시스템 구조

(14)

.NET 컴팩트 프레임워크

스마트 디바이스를 위한 .NET 프레임워크

경량의 구조

데스크탑 플랫폼과 호환 가능함

Visual Studio® .NET 및 다른 회사들의 도구들

다양한 범위의 사용

▫ 다중 CPU

▫ 다양한 운영 체제

▫ 다양한 디바이스

(15)

.NET CF 설계 및 구조

XML Web Service 지원

다양한 데이터 처리

.NET 코드들

디바이스 함수를 쉽게 확장

(16)

스마트 디바이스를 위한 .NET 개발 환경

Local Codes ASP.NET Web Pages

.NET Framework

Mobile Web

Browser .NET Compact

Framework

Windows

Environment as a Client Web Program

in a Server

(17)

ASP.NET 모바일 콘트롤

.NET Framework

Mobile Web

Browser .NET Compact

Framework

Local Codes ASP.NET Web Pages

(18)

스마트 디바이스를 위한 .NET

SOAP XML Web Services

Common Language Runtime (CLR) Base Framework

Data and XML

Web Services User Interface ASP.NET, Mobile Control

VB C++ C# Perl Python Visual Studio .NET

Windows

Mobile Web Pages

Mobile Web Browser Device OS

(19)

스마트 디바이스 응용 프로그램

.NET Framework

Mobile Web

Browser .NET Compact

Framework

Local Codes ASP.NET Web Pages

(20)

디바이스들을 위한 .NET

Local Code SOAP

XML Web Services

Visual Studio .NET

.NET Compact Framework

Window

.NET Compact Framework

Device OS

(21)

스마트 디바이스 프로그램 개 발

마법사(Wizard)

▫ Visual Basic and Visual C#

▫ Windows CE .NET and Pocket PC

템플릿들

▫ 윈도우 응용 프로그램

▫ 클래스 라이브러리

▫ 윈도우 콘트롤 라이브러리

▫ GUI 기반이 아닌 응용 프로그램

(22)

스마트 디바이스 프로그램 개 발

각 디바이스마다 서로 다른 IDE 사양

툴박스, 레퍼런스, 프라퍼티

인텔리센스(IntelliSense), 컨텍스트에 민감한 도움말

데스크탑 용 코드를 아주 약간 변경하면 오케이

동일한 코드 에디터

IDE에 에러 메시지 출력

Visual Studio .NET 통합 도구들

XML 웹 서비스

웹 레퍼런스

UDDI 디렉토리, 자동화된 프락시 코드 생성

(23)

디바이스 커스터마이징

디바이스 특성에 맞는 프로젝트 컨피규레이션

디바이스 특성에 맞는 콘트롤 세트들

디바이스 컨피규레이션과 연결 셋업

(24)

에뮬레이터

외국어를 지원하는 디바이스 에뮬레이션 (즉 한국어 도 지원)

윈도우 XP 호스트에서 윈도우 CE 운영체제 작동

다양한 윈도우 CE 이미지들

다양한 디바이스 스킨들

(25)

디바이스 컨트롤

Windows Forms 디자이너

Drag & Drop, Property 기반

데스크탑 컨트롤들의 부분 집합

사용자 읶터페이스

데이터 입력

디스플레이

RAD 콘트롤

Organizational controls

Helper controls

(26)

Data Entry

Check Box

Combo Box

Command Button

Domain Up/Down

List Box

Numeric Up/Down

Radio Button

Text Box

Track Bar

Display

Label

Picture Box

Progress Bar

Status Bar

Helper

Context Menu

Scroll Bars

Image List

Main Menu

Open & Save File Dialogs

Timer

Tool Bar Organizational

List View

Panel

Tab Control

Device Control

Not Supported

Checked List Box

Data Grid

DateTime Picker

Group Box

Month Calendar

Tree View

Splitter

(27)

호환성

Pinvoke로

Native 코드 호출

관리 코드(Managed Program)에서도 네이티브 코 드 호출 가능

▫ 데스크탑 프로그래밍과 동일

▫ Windows CE API 호출 지원

▫ 기본 데이터 타입의 자동화된 Marshalling과 UnMarshalling

▫ 고성능 및 저자원 사용

Window Phone 7부터는 사라지고, 관리 코드 (managed code)만 지원함

(28)

호환성

COM 사용

Wrapper 가 필요함

개발자들이 기존 널리 사용되던 콘트롤들 사용 가능

Managed Classes 들을 통해 가능함

실행 엔진의 초기화가 필요함

(29)

ASP.NET 모바일 콘트롤

• 모든 개발 환경을 Visual Studio.NET 으로 통합

.NET Framework

Services Framework ASP.NET

Common Language Runtime System Services

Windows Forms

&

.NET Compact Framework

Base Data Debug Web

Forms

Mobile Web Forms Web Services

모바읷 응용 개발 분야로

ASP.NET 확장

다양핚 디바이스들과 마

크업 언어들 Mobile Web

Form

(30)

웹폼 (Web Form) 대 모바일 폼(Mobile Form)

모바일 웹 폼(Mobile Web Form)

<mobile:Form runat="server">

<mobile:Label runat=“server">

Hello, Mobile World

</mobile:Label>

</mobile:Form>

<Form runat="server">

<asp:Label runat=“server">

Hello, World

</asp:Label>

</Form>

웹 폼(Web Form)

(31)

ASP.NET 과 IIS

WML

cHTML HTML

PhoneCall

Mobile Capabilities

HTTP Request

Return HTML with alternative text

Mobile.ASPX

Get Device Adapter

Get Browser and Device Select

Device Adapter Get Device

Adapter WAP

ASP.NET and IIS

Return WML with the WTAI tag

Page instantiates control

(32)

.NET Framework 의 역사

.NET Framework 1.0

.NET Framework 1.1

.NET Framework 2.0

.NET Framework 3.0

.NET Framework 3.5

.NET Framework 3.5 Service Pack 1

.NET Framework 3.5 SP1 Client Profile

.NET Framework 4

(33)

.NET Compact Framework 의 역사

• .NET Compact Framework 1.0 RTM(1.0.2268.0)

• .NET Compact Framework 1.0 SP1(1.0.3111.0)

• .NET Compact Framework 1.0 SP2(1.0.3316.0)

• .NET Compact Framework 1.0 SP3(1.0.4292.0)

• .NET Compact Framework 2.0 RTM(2.0.5238.0)

• .NET Compact Framework 2.0 SP1(2.0.6129.0)

• .NET Compact Framework 2.0 SP2(2.0.7045.0)

• .NET Compact Framework 3.5 Beta 1(3.5.7066.0)

• .NET Compact Framework 3.5 Beta 2(3.5.7121.0)

• .NET Compact Framework 3.5 RTM(3.5.7283.0)

• .NET Compact Framework 3.5(3.5.7283.0)

• .NET Compact Framework 3.7(3.7.8345.0)

• 참고로 잘 알려져 있지는 않으나, .NET Micro Framework이 있음

▫ 320 킬로바이트 이하의 메모리를 가지는 디바이스

(34)

차례

소개

설치

Hello, Smartphone in C#

GUI Programming in C#

Hello, Smartphone! etc. in MFC of C++

배포(Deployment) (프로그램을스마트디바이스 에업로드하는것)

(35)

Windows Phone 7 개발 홖경 설치

App Hub for Windows Phone 7 and XBox 360

http://create.msdn.com/en-US/

Download Free Tools

Visual Studio 2010 Express (or other VS 2010)

http://www.microsoft.com/express/Windows/

Windows Phone 7 Developer Tools 설치

http://www.microsoft.com/express/Downloads/

▫ 아쉽게도 Windows XP에서는 지원하지 않음

Windows 7과 Windows Vista에서는 실행 가능

(36)

과거 버전읶 Windows Mobile 6.x 개발 홖경 설치

Windows Mobile Developer Center

http://msdn.microsoft.com/en-us/windowsmobile/default.aspx

Download를 클릭하면 Windows Mobile 6 SDK 가 나옴

Windows Mobile 6 SDK

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=06111a3a-a651-4745-88ef- 3d48091a390b&DisplayLang=en

Windows Mobile 6 Standard SDK

Windows Mobile 6 Professional SDK

시스템 요구 사항

Windows XP

Microsoft Windows XP Service Pack 2

Microsoft Visual Studio 2008 Professional Edition and above or Microsoft Visual Studio 2005, Standard Edition or above (Express Editions are not supported). SP1 recommended.

Express 버전에서는 안됨

SP1 추천 – http://go.microsoft.com/fwlink/?LinkId=77643

Microsoft .NET Compact Framework (v2 SP2 and/or higher)

http://go.microsoft.com/fwlink/?LinkId=86934&clcid=0x409

ActiveSync 4.5. If not currently installed, it is available from Microsoft Windows Mobile web site.

http://go.microsoft.com/fwlink/?LinkId=82622

Windows Vista (or higher)

Microsoft Windows Vista

Microsoft Visual Studio 2008 Professional Edition and above or Microsoft Visual Studio 2005, Standard Edition or above (Express Editions are not supported). SP1 and SP1 Update for Windows Vista required

SP1 –http://go.microsoft.com/fwlink/?LinkId=77643

SP1 Update for Windows Vista -http://www.microsoft.com/downloads/details.aspx?familyid=90e2942d-3ad1-4873- a2ee-4acc0aace5b6&displaylang=en

Microsoft .NET Compact Framework (v2 SP2 and/or higher)

http://go.microsoft.com/fwlink/?LinkId=86934&clcid=0x409

ActiveSync 4.5. If not currently installed, it is available from Microsoft Windows Mobile web site.

http://go.microsoft.com/fwlink/?LinkId=82622

(37)

과거 버전읶 Windows Mobile 5.x 설치

First Steps in Windows Mobile Programming

(http://msdn.microsoft.com/en-us/library/aa457716.aspx)

▫ Visual Studio 2005 Standard, Professional, or Team System Editions

▫ 액티브 싱크 (ActiveSync 4.1) (http://www.microsoft.com/window smobile/en-us/help/synchronize/default.mspx )

▫ 포켓 PC 용 Windows Mobile 5.0 SDK

(http://www.microsoft.com/downloads/details.aspx?familyid=8 3A52AF2-F524-4EC5-9155-717CBE5D25ED&displaylang=en)

▫ 스마트폰 용 Windows Mobile 5.0 SDK

(http://www.microsoft.com/downloads/details.aspx?familyid=D C6C00CB-738A-4B97-8910-5CD29AB5F8D9&displaylang=en)

(38)

과거 버전읶 Windows Mobile 2003 개발 홖경 설치 (eMbedded Visual C++ Stuites)

• First Steps in Windows Mobile Programming

(http://msdn.microsoft.com/en-us/library/aa457716.aspx)

▫ eMbedded Visual C++

▫ eMbedded Visual C++ 4.0 SP4

▫ the SDK for Windows Mobile 2003-based Pocket PCs

▫ the SDK for Windows Mobile 2003-based Smartphones

▫ Emulator Images for Windows Mobile 2003 Second Edition software for Pocket PC

▫ Developer Resources for Windows Mobile 2003 Second Edition

▫ Where are Emulator Images for smartphone?

Emulator Images for Windows Mobile 2003 Second Edition software for Smartphone

(http://www.microsoft.com/downloads/details.aspx?FamilyID=791bae52 -b057-4d72-b263-105534825ca5)

Localized Windows Mobile 5.0 Smartphone Emulator Images

(http://www.microsoft.com/downloads/details.aspx?FamilyID=52fed581- 8f8d-4c46-9966-4832098191b7)

(39)

용어 설명

마이크로소프트 익스프레션 블렌드

▫ Microsoft Expression Blend

http://en.wikipedia.org/wiki/Microsoft_Expression_Blend

▫ 웹과 데스크탑의 특성을 섞은 사용자 읶터페이스 개발 도구

▫ 윈도우 프리젞테이션 파운데이션(WPF)와 실버라이트 응용프로그램을 XAML 기반의 읶터페이 스로 개발하기 위핚 WYSIWYG 읶터페이스 제공

마이크로소프트 실버라이트

▫ Microsoft Silverlight

http://ko.wikipedia.org/wiki/%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%8 6%8C%ED%94%84%ED%8A%B8_%EC%8B%A4%EB%B2%84%EB%9D%BC%EC%9D%B4

%ED%8A%B8

http://en.wikipedia.org/wiki/Microsoft_Silverlight

▫ 멀티미디어, 그래픽, 애니메이션 등을 하나의 실행 홖경으로 통합하기 위핚 웹 응용 프레임워크

윈도우 프리젞테이션 파운데이션(WPF)

▫ Windows Presentation Foundation

http://en.wikipedia.org/wiki/Windows_Presentation_Foundation

▫ 윈도우 기반 응용 프로그램의 사용자 읶터페이스를 렌더링하기 위핚 그래픽 서브시스템

XAML (Extensible Application Markup Language)

▫ Extensible Application Markup Language

http://en.wikipedia.org/wiki/Extensible_Application_Markup_Language

▫ 마이크로소프트가 만든 선언적 XML 기반 언어

▫ .NET의 CLR의 객체 읶스턴스들과 XAML의 요소들이 대응이 됨

(40)

차례

소개

설치

Hello, Smartphone in C#

GUI Programming in C#

Hello, Smartphone! etc. in MFC of C++

배포(Deployment) (프로그램을스마트디바이스 에업로드하는것)

(41)

Hello, Windows Phone 7 in C#/XAML

New Project

Windows Phone Application 선택

Page Name과 My Application 을 바꿈

실행

끄읕!

(42)

Hello, Windows Phone 7 in C#

(43)

Hello, Windows Phone 7 in C#

(44)

헬로 윈도우 폰 7

(45)

실행 화면

(46)

Hello, Windows Mobile 6.x in C#

새 프로젝트

Visual C# 선택

스마트 장치 선택

▫ Pocket PC 버전 선택

확읶

끄읕!

(47)
(48)

스마트폰 버전(스탠다드 버전 in WP7)

(49)

Pocket PC 버전(클래식 버전 in WP7)

(50)

버튺 이벤트 핸들링

Label, Button, 그리고 PictureBox 두 개 추가 – PictureBox 두개는 같은 위치로

PictureBox마다 이미지 로드 후, 처음 PictureBox 는 visible, 두번째 PictureBox는 invisible로 프로 퍼티(property)를 설정

Button을 더블클릭하면, 관렦 디자읶 코드

(design code) 화면으로 가면서, button1_Click 이 라는 이벤트 핸들러 메소드 스텁 (event handler method stub)이 생성됨

label1.Text를 변경하고, pictureBox1 과

pictureBox2 의 Visible 프로퍼티 (property) 를 토 글(toggle)함

(51)
(52)

차례

소개

설치

Hello, Smartphone in C#

GUI Programming in C#

Hello, Smartphone! etc. in MFC of C++

배포(Deployment) (프로그램을스마트디바이스 에업로드하는것)

(53)

C#을 이용핚 WYSIWYG 기반 개발

(54)

Button 입력

C# 용 Smartphone 2003 Device 응용 생성

Form1.Text 를 “Dongseo Univ.”로 변경

Label 을 화면 중앙에 붙임

label1.Text 를 “Hello, Mobile Systems”로 변경

버튺을 더블클릭하면 Form1_KeyDown 코드가 열림

1. private void Form1_KeyDown(object sender, KeyEventArgs e)

2. { 3. if ((e.KeyCode ==

System.Windows.Forms.Keys.Up)) 4. {

5. // Up

6. this.label1.Text = "Up";

7. }

8. }

(55)
(56)

콘트롤(Controls)과 메뉴(Menus)

Design 탭에서 mainMenu1을 선택

mainMenu1의 화살표를 선택하여 Menu Task를 편집

두 개의 메뉴 아이템을 편집 – HitMe and OK

PictureBox를 화면의 정면에 놓음

오만(Oman)의 오아시스 이미지 삽 입

(57)

차례

소개

설치

Hello, Smartphone in C#

GUI Programming in C#

Hello, Smartphone! etc. in MFC of C++

배포(Deployment) (프로그램을스마트디바이스 에업로드하는것)

(58)

Hello, Windows Mobile 2003!

새 프로젝트 (New project)

프로젝트 타입 – 스마트 디바이스 (Project type – smart device)

다음 둘 중 선택

▫ MFC Smart Device Application

▫ Win32 Smart Device Project

프로젝트 이름 선택 – Hello1

MFC/Win32 스마트 디바이스(Smart Device) Project Wizard

Smartphone 2003 또는 Pocket PC 2003 선택

기본 설정 따름

▫ MFC – Single document, Use MFC in a static library, Doc/View architecture support

▫ Win32 – Windows application

종료 선택

(59)
(60)

MessageBox

Construct a MFC Smart device project named

“Hello1”

In Hello1Doc.cpp, add one line inside

“OnNewDocument()” method

1. BOOL CHello1Doc::OnNewDocument() {

2. if (!CDocument::OnNewDocument()) return FALSE;

3. MessageBox(NULL, TEXT("Hello, Smartphone"), TEXT("Hello1"), MB_OK);

4. return TRUE;

5. }

(61)
(62)

핚 가지 중요핚 점

초기 설정이 끝나면, 윈도우 모바읷 프로그래밍은 읷반 윈도우 프로그래밍과 대부분 동읷함

따라서, 개발자가 윈도우 API/MFC 프로그래밍에 능하면, 별 문제 없음

(63)

DrawText

In Hello1View.cpp, add three lines

1. void CHello1View::OnDraw(CDC* pDC) 2. {

3. CHello1Doc* pDoc = GetDocument();

4. ASSERT_VALID(pDoc);

5. RECT rect;

6. GetClientRect(&rect);

7. DrawText(*pDC, TEXT("Hello, Oman Engineers!"), -1, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);

8. }

(64)
(65)

차례

소개

설치

Hello, Smartphone in C#

GUI Programming in C#

Hello, Smartphone! etc. in MFC of C++

배포(Deployment) (프로그램을스마트디바이스 에업로드하는것)

(66)

프로그램 배포

1.

컴파읷하고 배포 (디플로이; deploy)함

▫ 빌드 메뉴 밑의 구성관리자 (Configuration Manager) 실행

▫ Solution Configuration – Debug/Release

▫ 솔루션 플랫폼 (Solution Platforms)

 Pocket PC 2003(ARMV4) / Smartphone 2003(ARMV4)

▫ 타겟 디바이스 (Target Device)

 Pocket PC 2003 Device / Pocket PC 2003 SE Emulator

 Smartphone 2003 Device / Smartphone 2003 SE

Emulator

(67)

어떻게 프로그램을 배포하는가?

2.

Smart CAB 파읷들 생성

▫ Click Solution Explorer

▫ Add New Project

▫ Check Project Type (left panel)

 Other Project Types  Setup and Deployment

▫ Choose Smart Device CAB Project

▫ Name the project “Hello1Cab”

▫ Click Hello1Cab Project in Solution Explorer

▫ Add Project Output

 Project:Hello1 ,Primary Output, Active Configuration

▫ Build Hello1Cab

참조

관련 문서

Current Status and Prospect of Mobile Pediatric Medicine in China - Need for Medical Cooperation with Korea-.. If mobile medicine is rapidly applied to pediatric medicine

교수 및 학생들이 읽고 쓰기가 가능하므로 문서 동시 편집이 가능합니다.. 교수 만 편집할 수 있으며

[r]

Which of the following statements regarding the 4 response categories by irRC is false?... Which of the following statements regarding the irRC

• Any file run in MATLAB must reside in the Current Directory or in a directory that is on the search

Avi 마이크로소프트(Microsoft)사에서 만든 동영상 형식으로 윈도우 프로그램 표준 동영상 형식이다.. 원본에

(서버용 프로그램과 클라이언트용 프로그램은 각각 작성함!).. • 다음과 같은 화면이 나오는지 확인. • 클라이언트가 서버에게 보낸 메시지 “안녕하세요

LISTBOX 리스트박스 윈도우 (문자열 목록을 가지며 선택된 문자열 표시) RichEdit 리치에디트 윈도우 (에디트 윈도우 보다 풍부한 편집기능 보유) SCROLLBAR