Title of Presentation

Size: px
Start display at page:

Download "Title of Presentation"

Transcription

1 MICROSOFT WINDOWS PHONE 윈도우즈폰기본개발과정 [1 주차 ] 김명정 Microsoft Visual C# MVP Microsoft BizSpark Network Partner kmjrabbit@live.com

2 윈도우폰기본과정 1 일차 Windows Phone 7 개요 Windows Phone 7 소개, 개발도구설치, UX 디자인 (Metro- 모던 ) 소개 응용프로그램개발시작기본예제, 에뮬레이터기능, 프로젝트기본구성파일살펴보기 2 일차 UI 기본구성및활용타이머구현, Navigation 기능,ApplicationBar 정의, 센서정보 데이터바인딩방법과응용 3 일차 IsolatedStorage 격리저장소에데이터저장하기, 저장된데이터읽어오기 공용기능 Task&Chooser 2

3 윈도우폰기본과정 4 일차 Location Service GPS 정보활용하기 센서정보진동 (Vibrate) 처리, 가속도계 (Accelerometer), 멀티터치구현 MultiMedia 그래픽관련컨트롤사용, 간단한 MusicPlayer 및동영상재생 5 일차 네트워크 WCF 와 LINQ, RSS 구현하기 Notification 3

4 쉽게시작할수있는개발환경 (1) 세계최대수준의라이브러리및예제라이브러리 > 폰및 WINDOWS PHONE > 각메뉴들 유용한라이브러리소스제공검색 : Windows Phone 4

5 쉽게시작할수있는개발환경 (1) Microsoft 개발자방송국인 Channel 9, 개발자팀블로그, 국내외 Silverlight, Xbox, Windows Phone 개발자커뮤니티등등 5

6 쉽게시작할수있는개발환경 (2) Guide for ios/iphone Developers iphone App 을 Windows Phone 7 으로변경하는데있어서필수적인 API mapping Guide 를제공 Guide for Android Developers 안드로이드개발자를위한윈도우폰 API 매핑툴및 Guide 제공 6

7 Windows Phone 7 이전에 2002 년 11 월 XBox Live Service launched 2006 년 11 월 WPF(XAML) 2007 년 05 월 Games for Windows Live launched 2007 년 09 월 Silverlight(WPF/E) 1.0 released 2008 년 10 월 XNA Game Studio 3.0 (Cross-platform games that work on Windows, Xbox 360, Zune) 2009 년 09 월 ZuneHD (Multi-touch, Metro UI style, FM Radio, MarketPlace) 2010 년 10 월 Windows Phone 7 official released :EU ( 북미 :11 월 ) 영어, 독어, 불어, 스페인어, 이태리어먼저출시 2011 년 02 월 Windows Phone 7 First Major Update 2011 년 05 월 24 일. Mango SDK beta1, 한글에뮬레이터 2011 년 06 월 29 일. Mango SDK beta 년 10 월 Windows Phone 8 SDK 7

8 전망 2005년버전이후정체 2010년윈도우폰전격발표 2011년 11월한국출시예정유일한非아이폰스타일기존제품들과의연계 / 연관영향력기업시장중심의수요아이폰의독점적운영및선호도감소안드로이드의공개방식의우려다양한스마트폰의공존 타 AppStore 보다출시가늦은앱이많지만, 앞으로만들수있는앱이더많은강점 8

9 망고살펴보기 : v7.1 beta1(1) 2011 년 5 월 24 일윈도우폰 7.1(beta1) 망고공개 ( 미국현지시각 ) 500 개이상의새로운기능추가한글지원, 국내 2011 년 11 월출시예정멀티테스킹기능강화, Background 프로세서 (Audio, FileTransfer, Tile 등등 ) 강화라이브타일에서업데이트내용을표시해주는 앱커넥터 모바일익스플로러 9 탑재 SNS 강화 ( 페이스북, 윈도우라이브메시지를통한 SNS 접속 ) MS 오피스제품군과의연동 MS 에서제공하는클라우드서비스인 스카이드라이브 와 오피스 365 에접속해문서공유및편집가능 (25GB 의개인저장공간무료제공 ) 9

10 망고살펴보기 : v7.1 beta1(2) 윈도우폰 7 탑재스마트폰의증가 ( 망고탑재한스마트폰 9 종 ) HTC 제품 2 종 ( 오메가 3.8 인치 / 이터니티 4.7 인치 ) 델제품 1 종 ( 리글리 4 인치 ), 에이서제품 2 종삼성제품 4 종 ( 엑시노스탑재유력 / 갤럭시 s2 와유사 ) 윈도우폰 7 전용앱스토어인 윈도폰마켓플레이스 를국내시장에정식론칭할계획 Joe Beliore 트위터에윈도우폰의기능들중의하나인 Zune, Bing, Speech 등의연동기능들을미국과영국이외의지역에도점차확대할것이라고전함. SkyDrive 동기화기능 ( 업로드시백그라운드로동작되므로전송시다른기능들을동작시킬수있다.) Xbox 360 사용자들을위한 Windows Phone Avata 도구 (Prop) 무료제공 안드로이드개발자를위한윈도우폰 API 매핑제공 게임내아이템구입 (in-app) API 지원 10

11 망고살펴보기 : v7.1 beta 년 6 월 29 일윈도우폰 7.1(beta2) 망고공개 Visual Basic Support : 툴에통합되어따로설치안함. Multi-Targeting and App Compatibility : 기존 7.0 의모든앱은 7.1 에서똑같이돌아감 Device Status : 장치상태정보접근이확장됨. 배터리, 하드웨어키보드등 Isolated Storage Explorer : 격리저장소에있는파일및디렉토리목록보기,, 복사, 삭제변경기능을명령어로가능. Launchers and Choosers : 새로운런쳐, 츄저지원 - Address Chooser Task, Bing Maps Task, Bing Maps Directionns Task, Game Invite Task - Save Contact Task, Save Ringtone Task,, Share Link Task, Share Status Task Contacts and Calendar : 연락처 / 달력자료를읽기전용으로접근가능 Encrypted Credential Store : 암호화관련 API 제공 Camera : 카메라에프로그래밍적으로접근가능 odata Client : Open Data Protocol 클라이언트지원 11

12 Windows Phone 8 살펴보기 : v 년 10 월윈도우폰 8 공개 Windows Phone SDK 8.0 Windows Phone SDK 8.0 을사용하여 Windows Phone 8 및 Windows Phone 7.5 장치용앱을개발할수있다. 시스템요구사항 - 설치가능한 OS : Windows 8, Windows 8 P, Windows 8 64bit -Hardware : 4GB of free hard disk space, 4GB RAM, 64bit CPU -Windows Phone 8 Emulator : Windows 8 pro edition or greater 12

13 Windows Phone 8 : Nokia Lumia 920 디스플레이 4.5inch PureMotion HD + IPS LCD 768*1280 해상도, 332ppi 저장공간저장공간 32GB, RAM 1024MB 카메라 8.7MP, 1080p HD 동영상, 전면카메라, LED 플래시, 자동초점, 칼자이스렌즈, 광학식손떨림보정 프로세서 1.5GHz MSM8960 듀얼코어 소프트웨어 : Windows Phone 8 배터리수명 : 통화 9 시간, 대기 320 시간, 무선충전 네트워크 GSM850, 900, 1800, 1900, W-CDMA 850, 900, 1900, 2100, LTE 800,900,1800, 2100,

14 Windows Phone 7 v7.1 버전표기는 v7.5 가아닌 v7.1 새롭게추가된내용살펴보기 14

15 Windows Phone 7 v7.1 beta2 설치하기 n&id=26648 ISO 버전다운받기 DAEMON TOOL 다운받기 15

16 Windows Phone 7 v7.1 beta2 개발환경 Overview - Windows Phone SDK 7.1(Beta2) - Windows Phone Emulator(Beta2) - Windows Phone SDK 7.1 Assemblies(Beta2) - Silverlight 4 SDK and DRT - Windows Phone SDK 7.1 Extensioons for XNA Game Studio Microsoft Expression Blend SDK Preview for Windows Phone WCF Data Services Client for Widows Phone 7.1 -Microsoft Advertising SDK for Windows Phone 7 System Requirements - Windows 7, Windows Vista (Sp2) - Installation requires 4GB of free disk space, on the system drive, 3GB RAM - Windows Phone Emulator requires a DirectX 10 or above capable graphics card with a WDDM 1.1 driver The Windows Phone Developer Tools is compatible with the final version of Visual Studio 2010 SP1. If Windows Phone Developer Tools 7.1 Beta is installed on the machine, please uninstall it before installing this product. 16

17 Windows Phone 8 v8 설치하기 WPExpress_full.exe 다운로드후실행 ISO 파일다운로드 17

18 Windows Phone 8 SDK 8.0 Overview - Windows Phone SDK 7.1(Beta2) - Windows Phone Emulator(Beta2) - Windows Phone SDK 7.1 Assemblies(Beta2) - Silverlight 4 SDK and DRT - Windows Phone SDK 7.1 Extensioons for XNA Game Studio Microsoft Expression Blend SDK Preview for Windows Phone WCF Data Services Client for Widows Phone 7.1 -Microsoft Advertising SDK for Windows Phone 7 System Requirements - Windows 7, Windows Vista (Sp2) - Installation requires 4GB of free disk space, on the system drive, 3GB RAM - Windows Phone Emulator requires a DirectX 10 or above capable graphics card with a WDDM 1.1 driver The Windows Phone Developer Tools is compatible with the final version of Visual Studio 2010 SP1. If Windows Phone Developer Tools 7.1 Beta is installed on the machine, please uninstall it before installing this product. 18

19 Windows Phone 8 살펴보기 : v 년 10 월 30 일윈도우폰 8 공개 Windows Phone SDK 8.0 Windows Phone SDK 8.0 을사용하여 Windows Phone 8 및 Windows Phone 7.5 장치용앱을개발할수있다. 시스템요구사항 - 지원되는운영체제 : Windows 8, Windows 8 Pro - 운영체제유형 : Windows 8 64 비트클라이언트버전 - 하드웨어 : 6.5GB 의하드디스크여유공간, 4GB RAM, 64bit CPU -Windows Phone 8 Emulator : Windows 8 pro edition 버전이상 : SLAT( 두번째수준주소변환 ) 을지원하는프로세서필요 19

20 20 Windows Phone 7

21 Windows Phone 7 출시모델 Samsung Focus LG Quantum HTC Surround HTC HD7 Dell Venue Pro 날씬하고가벼움 110g 많은사진카메라기능강화 선명한 4 인치슈퍼아몰레드화면 수평 QWERTY 자판내장쉬운입력 간편한 Office Mobile 사용 5 메가픽셀사진촬영 슬라이드형스트레오스피커 16GB 내장메모리 음악비디오공유기능 원활히연결 윈도우폰중가장큰화면 Netflix, T-Mobile TV, Slacker Radio 수직 QWERTY 자판내장빠른입력 긁힘 & 깨짐적음 Dell 모델은 T 모바일유일 AT&T 출시 AT&T 출시 AT&T 출시 T 모바일출시 T 모바일출시 21

22 Windows Phone 8 출시모델 Nokia Limia 920 광학식손떨림보정및칼자이스렌즈의조합으로어두운곳에서플래시없이선명한사진과동영상촬영가능 Smart Shoot 은여러장의사진에서가장좋은장면만을합쳐완벽한사진을만듬 Nokia Lumia 820 칼자이스렌즈가장착된 800 만화소카메라, 선명한컬러와 4.3 인치 ClearBlack 디스플레이가특징. Windows Phone 8x By HTC 편리한셀프촬영 210 만화소의초광각전면카메라단독탑재된 Beats Audio 및내장앰프로스튜디오급의고품질음향제공 Nokia Lumia 620 Windows Phone 8S by HTC 스틸이미지에모션을더하는 Cinemagraph지원대담한색상과눈에띄는디자인보다풍부한음질을선사하는 Beats Audio 500만화소카메라 Huawei Ascend W1 고용량의 1950mAh 배터리장착하여며칠동안연락을주고받음. 1.2GHz 듀얼코어프로세서덕분에게임의응답속도가크게향상 22

23 23 Windows Phone 디자인 (Metro Design, 모던스타일 )

24 Windows Phone 허브 (HUBs) PEOPLE OFFICE PICTURES MUSIC+VIDEO MARKETPLACE GAMES 24

25 Windows Phone (Pictures & People) Pictures 사진과동영상을주변사람들과공유 PEOPLE OFFICE PICTURES MUSIC+VIDEO MARKETPLACE People GAMES SNS FACEBOOK, 윈도우라이브 소셜네트워크에접속해서컨텐츠공유가능 25

26 26 Windows Phone ( 화면구성부분 )

27 27 Windows Phone 7 (UI)

28 Windows Phone 7 (UI-Weather) 정보시작화면표면에요약표시 관련자신의위치에맞게날씨업데이트 연결자신의연락처의날씨들 28

29 Windows Phone 7 (UI-System Tray) 1) Signal strength 2) Data connection 3) Call forwarding 4) Roaming 5) Wireless network signal strength 6) Bluetooth status 7) Ringer mode 8) Input status 9) Battery power level 29 10) System clock

30 30 Windows Phone 8 (UI)

31 WP7 개발시작 (WP7Begin) 프로젝트생성방법모든프로젝트는다음순서대로생성한다. 개발환경구축예제 - c:\wp7\wp7begin - System.Environment.OSVersion 출력해보기 - Debug -XAML 에서버튼추가 <button Content= OSVersion? x:name= btnver Height= 72 Click= btnver_click /> -CS 에서의이벤트처리 private void btnver_click(object sender, RoutedEventArgs e) MessageBox.Show(System.Environment.OSVersion.ToString()); 31

32 WP7, WP8 개발시작 ( 프로젝트생성순서 ) 프로젝트생성방법 1.Microsoft Visual Studio Express 2012 for Windows Phone 을실행한다. 2. 메뉴 File > New Project 를선택한다. 3. 왼쪽 Templates 에서 Visual C# > Windows Phone 을선택한다. 4.Windows Phone App 을선택한후 Name 칸에프로젝트명을입력한후 OK 를누른다. 5. 생성할프로젝트의버전을선택한다. V7.1, V8.0 32

33 WP7 개발시작 (WP7Begin) 참고사항 - Layout 종류 1. StackPanel 2. Grid 3. Canvas 4. Panel 5. WrapPanel (ToolKit 이용 ) - 에뮬레이터 33

34 WP7 개발시작 (WP7Begin) 참고사항 - Layout 종류 1.StackPanel : 여러 UI 요소들을수평또는수직방향으로나열하는레이아웃컨트롤 <StackPanel Orientation= Horizontal > <Button Content= Button1 /> <Button Content= Button2 /> </StackPanel> : 각각의 UI 요소들을추가된순서대로위에서아래로또는왼쪽에서오른쪽으로나열시킨다. : Orientation 속성에의해나열방향이결정된다. ( 기본값 :Vertical) 34

35 WP7 개발시작 (WP7Begin) 참고사항 - Layout 종류 2.Grid : Layout 컨트롤중가장많은기능을제공. 행과열로구분. <Grid> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> </Grid> : RowDefinition 에는 Height, ColumnDefinition 에는 Width 속성값을설정해변경가능. : Width, Height 값은 pixel( 고정크기 ), Auto, 스타 (*) 값을가짐. Auto- 해당칸을채우는컨트롤의크기에따라자동변경된다. 스타 (*)- 균등분할을하기위한단위 35

36 WP7 개발시작 (WP7Begin) 참고사항 - Layout 종류 3.Canvas : UI 요소의위치를직접지정하는컨트롤. <Canvas> <Button Canvas.Top= 20 Canvas.Left= 20 Content= Button 1 /> <Button Canvas.Top= 60 Canvas.Left= 20 Content= Button 2 /> </Canvas> : Canvas 컨트롤내각 UI 요소의위치는 Canvas 컨트롤의상단에서부터 UI 요소까지의거리를의미하는 Canvas.Top 속성과 Canvas 컨트롤의왼쪽부터 UI 요소까지의거리를의미하는 Canvas.Left 속성값을결정됨. : 좌표값으로 UI 컨트롤들을배치시키므로컨트롤들이겹칠수있다. UI 컨트롤이겹쳐질때어떤컨트롤을위로보여줄것인지를결정하기위해서는 Canvas.Zindex 속성값을이용하면된다. 클수록상단에배치됨. 36

37 WP7 개발시작 (WP7Begin) 참고사항 - Layout 종류 4. Panel : 대부분의레이아웃컨트롤들이상속하는부모클래스대부분의레이아웃컨트롤의필요한기능들은모두 Paenl 컨트롤에구현되어있다. : Height - 패널높이를지정하거나가져옴. Width, MinHeight, MaxHeight, MinWidth, MaxWidth, Visibility, Margin( 바깥여백 ), Padding( 안쪽여백 ) 37

38 WP7 개발시작 (WP7Begin) 참고사항 - Layout 종류 5. WrapPanel : Silverlight for Windows Phone 7 에서는기본지원하지않는컨트롤 silverlight for windows phone 7 toolkit 을활용 : 에서다운로드하여설치 : 해당프로젝트에서 dll 참조추가 : xaml 내 using(xmlns:toolbox=. ) <toolkit:wrappanel x:name= wrappanel1 > <Button Content= Button1 /> <Button Content= Button2 /> <Button Content= Button3 /> </toolkit:wrappanel> : StackPanel 의단점을보완하여여러개의컨트롤을배치하면자동 Wrap 이이루어짐 38

39 WP7 개발시작 (WP7Begin) 참고사항 - 에뮬레이터 : 종료 : 최소화 : 오리엔테이션 : 방향 : 하드키보드사용 (PgUp/PgDn/Pause) : 인터넷익스플로러 : 환경설정 ( 테마변경 ) - Mango v7.1 업데이트후에뮬레이터의변화 : 여러개의언어를지원 - 설정 (Setting)>> 언어설정 (region+language) : 인터넷익스플로러에서의주소입력부분의위치변화 ( 상단 -> 하단 ) : 에뮬레이터의한글은눈에띄나 100% 한글화는되어있지않다. : 에뮬레이터내에서가속도계와 GPS 값을보낼수있다. 39

40 WP7 개발시작 (WPA01) 프로젝트생성방법모든프로젝트는교재 P.62 순서대로생성한다. 개발환경구축예제 - c:\wp7\wpa01 - HelloWorld!! 출력, CS 코드에서작업 - Debug -CS 에서의코드생성 (MainPage.xaml-MainPage.xaml.cs 스켈레톤파일 ) public MainPage() InitializeComponent(); ApplicationTitle.Text = WPA01 Application ; PageTitle.Text = Hello World!! ; TitlePanel.Height=200; ApplicationTitle.Height=50; ApplicationTitle.FontSize=40; 40

41 WP7 개발시작 (WPA01) 참고사항 - Expression Blend 에서열어보기 - 솔루션탐색기살펴보기 ( 프로젝트생성파일들 ) : Properties 폴더내 : AppManifest.xml XAP 파일에대한설명서 : AssemblyInfo.cs 프로그램명 / 버전정보등을기록 : WMAppManifest.xml - 아이콘, 타이틀등을설정하는메타데이터파일 - 시작 XAML 파일설정 (DefaultTask NavigationPage= 시작 XAML 파일 />) : References 폴더 생성한프로젝트에서참조한네임스페이스들 : App.xaml / App.xaml.cs - 프로젝트내에서의전역이벤트처리 - ASP.NET 에서의 Web.Config 역할 : ApplicationIcon.png - 앱의기본아이콘 : Background.png 기본배경이미지 : MainPage.xaml / MainPage.xaml.cs - 기본페이지 : SplashScreenImage.jpg 로드되는동안보여지는페이지 41

42 WP7 개발시작 (WPA01) 참고사항 - MainPage.xaml 구성 : 기본적인 Silverlight 파일과구성이유사함. : PhoneApplicationFrame > PhoneApplicationPage >> Grid(LayoutRoot) >>> StackPanel(TitlePanel) >>>> TextBlock(ApplicationTitle) >>>> TextBlock(PageTitle) >>> Grid(ContentPanel) : XAML 코드 <phone:phoneapplicationpage> <Grid> <Grid.RowDefinitions> <RowDefinitions/><RowDefinitions/> </Grid.RowDefinitions> <StackPanel Grid.Row= 0 ><TextBlock/><TextBlock/></StackPanel> <Grid Grid.Row= 1 ></Grid> </Grid> </phone:phoneapplicationpage> 42

43 WP7 개발시작 (WPA02) 프로젝트생성방법모든프로젝트는교재 P.62 순서대로생성한다. 개발환경구축예제 - c:\wp7\wpa02 - 화면터치정보를핸들링하는방법 - Debug, output 창에상태출력 43

44 WP7 개발시작 (WPA02) -XAML 에서기존코드수정 <Grid x:name= LayoutRoot Background= Transparent MouseMove= Layout_MouseMove MouseLeftButtonDown= Layout_MouseLeftButtonDown MouseLeftButtonUp= Layout_MouseLeftButtonUp >.. </Grid> -CS 에서의코드생성 private void LayoutRoot_MouseMove(object sender, MouseEventArgs e) Point pos = e.getposition(this); System.Diagnostics.Debug.WriteLine( ::Move:: + pos.x.tostring() + + pos.y.tostring()); private void LayoutRoot_MouseLeftButtonDown( ) private void LayoutRoot_MouseLeftButtonUp( ) 코드생성 44

45 WP7 개발시작 (WPA02) 참고사항 - Point (msdn 참조 ) System.Windows 네임스페이스내에위치하는구조체 2 차원공간에서 X 및 Y 좌표쌍을나타낸다. - Debug.WriteLine() 메서드디버깅하는데필요한메서드및속성집합을제공 System.Diagnostics 네임스페이스내에위치함. System.Diagnostics.Debug.WriteLine() 을연속으로적기힘들면 cs 코드내상단 namespace 부분에 System.Diagnostics; 를추가시 Debug.WriteLine() 만기입이가능. 45

46 WP7 개발시작 (WPA03) 개발환경구축예제 - c:\wp7\wpa03 - 타이머 ( 일정한시간간격으로이벤트발생 ) - Debug -XAML 에서코드생성 <Grid x:name= ContentPanel Grid.Row= 1 Margin= 12,0,12,0 > <Button Content= Start Height= 90 Width= 311 Margin= 73,95,0,0 HorizontalAlignment= Left VerticalAlignment= Top x:name= button1 Click= button1_click IsEnabled= True /> <Button Content= End Height= 90 Width= 311 Margin= 73,208,0,0 HorizontalAlignment= Left VerticalAlignment= Top x:name= button2 Click= button2_click /> </Grid> 46

47 WP7 개발시작 (WPA03) -CS에서의코드생성 using System.Windows.Threading; using System.Diagnostics; long m_ltick = 0; DispatcherTimer timer = null; public MainPage() InitializeComponent(); button1.isenabled = true; button2.isenabled = false; // 타이머사용을위해추가 // 디버깅시 output출력 // 타이머간격을체크하기위한값 // 실제코드를통해사용한타이머선언 // 버튼의상태를활성화 // 버튼의상태를비활성화 47

48 WP7 개발시작 (WPA03) 48 -CS에서의코드생성 private void button1_click(object sender, RoutedEventArgs e) if(timer == null) 상태 timer = new DispatcherTimer(); 생성 timer.interval = new TimeSpan(0,0,1); // 타이머간격지정 ( 시, 분, 초 ) timer.tick += new EventHandler(timer_Tick); timer.start(); 작동 button1.isenabled = false; button2.isenabled = true; void timer_tick(object sender, EventArgs e) 함수 long ltick = System.DateTime.Now.Ticks / 10000; // 타이머설정하지않은 // 타이머 // 설정된타이머를 //timer Interval 간격이되면실행될

49 WP7 개발시작 (WPA03) 참고사항 - 조건문 if 문 (1) if( 조건이참이면 ) 여기를실행 if 문 (2) if( 조건 1 이참이면 ) 여기를실행 else if( 또다른조건 2 가참이면 ) 여기를실행 else 이것저것둘다아니면여기를실행 49

50 WP7 개발시작 (WPA04) 개발환경구축예제 - c:\wp7\wpa04 - 시계 - Debug -XAML 에서코드생성 <Grid x:name= ContentPanel Grid.Row= 1 Margin= 12,0,12,0 > <TextBlock Height= 73 Width= 364 HorizontalAlignment= Left Margin= 60,60,0,0 Name= textblock1 Text= TextBlock VerticalAlignment= Top /> <TextBlock Height= 73 Width= 364 HorizontalAlignment= Left Margin= 60,190,0,0 Name= textblock2 Text= TextBlock VerticalAlignment= Top /> </Grid> 50

51 WP7 개발시작 (WPA04) -CS 에서의코드생성 using System.Windows.Threading; DispatcherTimer timer = null; // 타이머사용을위해추가 // 실제코드를통해사용한타이머선언 public MainPage() InitializeComponent(); timer = new DispatcherTimer(); timer.interval = new TimeSpan(0,0,1); timer.tick += new EventHandler(timer_Tick); timer.start(); 51

52 WP7 개발시작 (WPA04) -CS에서의코드생성 void timer_tick(object sender, EventArgs e) DateTime dt1 = DateTime.Now.ToLocalTime(); DateTime dt2 = DateTime.Now.ToUniversalTime(); String str1; str1 = String.Format( 0,4.1,2.2,2 3,2:4,2:5,2, dt1.year, dt1.month, dt1.day, dt1.hour, dt1.minute, dt1.second); String str2; str2 = String.Format( 0,4.1,2.2,2 3,2:4,2:5,2, dt2.year, dt2.month, dt2.day, dt2.hour, dt2.minute, dt2.second); textblock1.text = str1; textblock2.text = str2; // 현재시간 // 국제표준시간 52

53 WP7 개발시작 (WPA04) 참고사항 - String.Format String.Format( 0,4.1,2.2,2 3,2:4,2:5,2, dt1.year, dt1.month, dt1.day, dt1.hour, dt1.minute, dt1.second); YYYY.MM.DD HH:MM:SS String.Format( 순서, 자릿수, 순서에위치할값 ); - 맞춤, 여백및안쪽여백 FrameworkElement 클래스는자식요소의위치를정확하게지정하는데여러속성을노출한다. : HorizontalAlignment 가로정렬 : VerticalAlignment 세로정렬 : Margin - 요소의바깥여백 <object Margin= left, top,right,bottom /> or <object Margin= left, top /> : Padding 요소의안쪽여백 53

54 WP7 개발시작 (WPA05) 개발환경구축예제 - c:\wp7\wpa05 - 이벤트핸들러활용 - Debug -XAML 에서코드생성 <Grid x:name= ContentPanel Grid.Row= 1 Margin= 12,0,12,0 > <Button Content= Button Height= 86 Width= 357 HorizontalAlignment= Left VerticalAlignment= Top Margin= 46,165,0,0 Name= button1 Click= button1_click /> <TextBox Text= TextBox Height= 86 Width= 357 HorizontalAlignment= Left VerticalAlignment= Top Margin= 46,42,0,0 Name= textbox1 TextChanged= textbox1_textchanged KeyDown= textbox1_keydown /> </Grid> 54

55 WP7 개발시작 (WPA05) -CS 에서의코드생성 private void button1_click(object sender, RoutedEventArgs e) PageTitle.Text = textbox1.text; private void textbox1_textchanged(object sender, TextChangedEventArgs e) ApplicationTitle.Text = textbox1.text; private void textbox1_keydown(object sender, KeyEventArgs e) if(e.key == Key.D1) System.Diagnostics.Debug.WriteLine( 숫자 1 ); 55

56 WP7 개발시작 (WPA06) 56 개발환경구축예제 - c:\wp7\wpa06 - 다양한버튼의기능및이벤트처리 -XAML 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0"> <CheckBox Content="CheckBox" Height="82 Width="414 Margin="26,30,0,0 HorizontalAlignment="Left" VerticalAlignment="Top Name="checkBox1" Click="checkBox1_Click Checked="checkBox1_Checked"/> <CheckBox Content="CheckBox" Height="82" Width="414 Margin="26,107,0,0 HorizontalAlignment="Left" VerticalAlignment="Top Name="checkBox2"/> <RadioButton Content="RadioButton" Height="82" Margin="26,206,0,0 HorizontalAlignment="Left" VerticalAlignment="Top Name="radioButton1"/> <RadioButton Content="RadioButton" Height="82" Margin="26,274,0,0 HorizontalAlignment="Left" VerticalAlignment="Top Name="radioButton2"/> <HyperlinkButton Content="HyperlinkButton" Height="55" Width="281" Margin="51, 404,0,0 HorizontalAlignment="Left" VerticalAlignment= Top Name= hyperlinkbutton1 Click= hyperlinkbutton1_click /> </Grid>

57 WP7 개발시작 (WPA06) -CS 에서의코드생성 private void checkbox1_click(object sender, RoutedEventArgs e) System.Diagnostics.Debug.WriteLine( Click ); private void checkbox1_checked(object sender, RoutedEventArgs e) System.Diagnostics.Debug.WriteLine( Checked ); 57

58 WP7 개발시작 (WPA06) 58 -CS 에서의코드생성 private void hyperlinkbutton1_click(object sender, RoutedEventArgs e) String strmsg = ; if(checkbox1.ischecked == true) strmsg += C1 ; if(checkbox2.ischecked == true) strmsg += C2 ; if(radiobutton1.ischecked == true) strmsg += R1 ; if(radiobutton2.ischecked == true) strmsg += R2 ; MessageBox.Show(strMsg);

59 WP7 개발시작 (WPA06) 참고사항 - 윈도우에서지원하는버튼들 : CheckBox - 옵션체크와같이항목의유 / 무를선택할때사용 : RadioButton 여러가지중하나만선택시사용 : HyperlinkButton 다른항목으로연결을위한버튼. 브라우저의링크 : Button 일반적인버튼. 누르면해당상태에따라색이바뀜. - CheckBox 의클릭이벤트 CheckBox 의클릭이벤트는클릭될때마다발생하므로체크상태가되거나체크가없어지는두경우모두를나타낸다. 59

60 WP7 개발시작 (WPA07) 개발환경구축예제 - c:\wp7\wpa07 - 진행바 (ProgressBar) 와 Slider -XAML 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <ProgressBar Height= 114 HorizontalAlignment= Left VerticalAlignment= Top Margin= 16,50,0,0 Name= progressbar1 Width= 434 /> <Slider Height= 114 Width= 434 HorizontalAlignment= Left VerticalAlignment= Top Margin= 16,211,0,0 Name= slider1 ValueChanged= slider1_valuechanged /> </Grid> 60

61 WP7 개발시작 (WPA07) -CS 에서의코드생성 public MainPage() InitializeComponent(); progressbar1.minimum = 0; progressbar1.maximum = 100; slider1.minimum = 0; slider1.maximum = 100; private void slider1_valuechanged(object sender, RoutedPropertyChangedEventArgs<double> e) double dbval = slider1.value; progressbar1.value = dbval; System.Diagnostics.Debug.WriteLine(dbVal); 61

62 WP7 개발시작 (WPA07) 참고사항 - SupportedOrientation : 화면방향전환 : Silverlight 에서의방향 세로 (portrait) 기본 : XNA 에서의방향 가로 (Landscape) 기본 : 속성변경 PhoneApplicationPage 태그에서의 SupportedOrientation 속성을기본 portrait 에서 PortraitOrLandScape 로변경시디바이스나에뮬레이터의상태에따라가로 / 세로방향자동변경 : OnOrientationChanged 메서드 args.orientation.tostring() 현재방향값반환 참고예제 ) c:\wp7\wpsupportedorientation 62

63 WP7 개발시작 (WPA07Ext01) 개발환경구축예제 - c:\wp7\wpa07ext01 - Slider 활용, SliderBar 를움직일때변환되는상태값을출력하고 Rectangle 에값을조정해서크기및위치변경하기 -XAML 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Grid.RowDefinitions> <RowDefinition Height= 150 /> <RowDefinition Height= * /> </Grid.RowDefinitions> <Slider HorizontalAlignment= Center VerticalAlignment= Top Width= 400 Grid.Row= 0 x:name= slider1 ValueChanged= slider1_valuechanged /> <TextBlock FontSize= 24 Height= 67 HorizontalAlignment= Left Grid.Row= 0 Margin= 12,90,0,0 Name= textblock1 Text= 현재값은? VerticalAlignment= Top Width= 444 /> <Canvas x:name= canvas01 Grid.Row= 1 Width= 400 Height= 400 Background= AliceBlue /> </Grid> 63

64 WP7 개발시작 (WPA07Ext01) -CS 에서의코드생성 private Rectangle rect; public MainPage() InitializeComponent(); rect = new Rectangle(); //Rectangle 클래스의개체선언 //Rectangle 클래스의인스턴스생성 64

65 WP7 개발시작 (WPA07Ext01) -CS 에서의코드생성 private void slider1_valuechanged(object sender, RoutedPropertyChangedEventArgs<double> e) canvas01.children.clear(); textblock1.text= 현재값은? + slider1.value; SolidColorBrush scb = new SolidColorBrush(); scb.color = Colors.Orange; rect.fill = scb; //rect.fill = new SolidColorBrush(Colors.Orange) rect.height=slider1.value * 10; rect.width=slider1.value * 10; Canvas.SetLeft(rect, slider1.value * 5); Canvas.SetTop(rect, slider1.value + 5); //slider 의값으로 rect 크기지정 // 해당위치에배치 canvas01.children.add(rect); 65

66 WP7 개발시작 (WPA08) 개발환경구축예제 - c:\wp7\wpa08 - 리스트박스 -XAML 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <ListBox Height= 527 HorizontalAlignment= Left Name= listbox1 VerticalAlignment= Top Width= 456 Margin= 0,80,0,0 FontSize= 28 SelectionChanged= listbox1_selectionchanged /> <Textbox Height= 72 HorizontalAlignment= Left Name= textbox1 VerticalAlignment= Top Text= TextBox Width= 460 KeyDown= textbox1_keydown /> </Grid> 66

67 WP7 개발시작 (WPA08) -CS 에서의코드생성 public MainPage() InitializeComponent(); textbox1.text = ; textbox1.focus(); private void textbox1_keydown(object sender, KeyEventArgs e) if(e.key == Key.Enter) listbox1.items.add( 아이템 : + textbox1.text); // 리스트박스아이템추가 textbox1.text = ; 67

68 WP7 개발시작 (WPA08) -CS 에서의코드생성 private void listbox1_selectionchanged(object sender, SelectionChangedEventArgs e) int nsel = listbox1.selectedindex; if(nsel < 0 nsel >= listbox1.items.count) return; String strtext = listbox1.items[nsel].tostring(); String strout1 = String.Format( 선택한라인은 0 입니다., nsel +1); String strout2 = String.Format( 0 를선택합니다., strtext); String strout = strout1 + strout2; // 선택한항목의문자열 MessageBoxResult nres; nres = MessageBox.Show(strOut, 선택삭제, MessageBoxButton.OKCancel); if(nres == MessageBoxResult.OK) listbox1.items.removeat(nsel); // 선택한항목의아이템삭제 68

69 WP7 개발시작 (WPA09) 개발환경구축예제 - c:\wp7\wpa09 - 웹브라우저활용 -XAML 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <TextBox Height= 79 HorizontalAlignment= Left Name= textbox1 Text= TextBox VerticalAlignment= Top Width= 456 KeyDown= textbox1_keydown /> <phone:webbrowser HorizontalAlignment= Left Margin= 0,85,0,0 Name= webbrowser1 VerticalAlignment= Top Height= 522 Width= 456 /> </Grid> 69

70 WP7 개발시작 (WPA09) -CS 에서의코드생성 public MainPage() InitializeComponent(); textbox1.text = ; private void textbox1_keydown(object sender, KeyEventArgs e) if(e.key == Key.Enter) String struri = textbox1.text; textbox1.text = ; webbrowser1.focus(); webbrowser1.navigate(new Uri(strUri, UriKind.Absolute)); 70

71 WP7 개발시작 (WPA20) 개발환경구축예제 - c:\wp7\wpa20 - 화면호출 -XAML 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Canvas.Left= 117 Canvas.Top= 184 Content= Button Height= 99 Name= button1 Width= 204 Click= button1_click /> </Grid> -XAML 파일추가생성 Solution Explorer > Add > New Item > Windows Phone Portrait Page > Page1.xaml 생성 > PageTitle 변경 (Sub Page) 71

72 WP7 개발시작 (WPA20) -CS(MainPage.xaml.cs) 에서의코드생성 private void button1_click(object sender, KeyEventArgs e) NavigationService.Navigate(new Uri( /Page1.xaml, UriKind.Relative)); 72

73 WP7 개발시작 (WPA20) 참고사항 - Uri : 지정된 uri 를사용하는 uri 클래스의새인스턴스를초기화함. : uri 문자열이상대 uri 또는절대 uri 인지아니면결정되지않았는지여부를지정할수있음. 73

74 WP7 개발시작 (WPA21) 개발환경구축예제 - c:\wp7\wpa21 - 페이지호출 + 이전화면으로의복귀 -XAML 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Canvas Height= 597 HorizontalAlignment= Left Margin= 10,10,0,0 Name= canvas1 VerticalAlignment= Top Width= 458 > <Button Canvas.Left= 140 Canvas.Top= 185 Content= Button Height= 72 Name= button1 Width= 160 Click= button1_click /> </Canvas> </Grid> -XAML 파일추가생성 Solution Explorer > Add > New Item > Windows Phone Portrait Page > Page1.xaml 생성 > PageTitle 변경 (Sub Page) 74

75 WP7 개발시작 (WPA21) 75 -CS(MainPage.xaml.cs) 에서의코드생성 private void button1_click(object sender, RoutedEventArgs e) NavigationService.Navigate(new Uri( /Page1.xaml, UriKind.Relative)); -XAML(Page1.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Content= Button Height= 72 HorizontalAlignment= Left Margin= 146,159,0,0 Name= button1 VerticalAlignment= Top Width= 160 Click= button1_click /> </Grid> -CS(Page1.xaml.cs) 에서의코드생성 private void button1_click(object sender, RoutedEventArgs e) if(navigationservice.cangoback == true) NavigationService.GoBack(); //NavigationService.Navigate(new Uri( MainPage.xaml,UriKind.Relative));

76 WP7 개발시작 (WPA21) 참고사항 - NavigationService.CanGoBack 속성 : 후방탐색기록에하나이상의항목이있는지여부를나타내는값을가져옴 : 후방탐색기록에하나이상의항목이있는경우 true 그렇지않으면 false : GoBack() 메서드는후방탐색기록에항목이하나도없을경우 InvalidOperationException 예외를 throw 함. if(navigationservice.cangoback == true) NavigationService.GoBack(); 76

77 WP7 개발시작 (WPA22) 개발환경구축예제 - c:\wp7\wpa22 - 화면 ( 페이지 ) 정보알아보기 -XAML 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Canvas Height= 577 HorizontalAlignment= Left Margin= 12,24,0,0 Name= canvas1 VerticalAlignment= Top Width= 438 > <Button Canvas.Left= 97 Canvas.Top= 149 Content= Button Height= 134 Name= button1 Width= 224 Click= button1_click /> </Canvas> </Grid> -CS(MainPage.xaml.cs) 에서의코드생성 private void button1_click(object sender, RoutedEventArgs e) String struri = NavigationService.CurrentSource.ToString(); MessageBox.Show(strUri); 77

78 WP7 개발시작 (WPA22) 참고사항 - NavigationService.CurrentSource 속성 : 현재표시된컨텐츠의 URI(Uniform Resource Identifier) 를가져옴. - NavigationService.Navigate 메서드 : 지정된소스컨텐츠를비동기적으로탐색한다. : 새로운 XAML 페이지를화면에출력하는기능을한다. 78

79 WP7 개발시작 (WPA22Ext01) 개발환경구축예제 - c:\wp7\wpa22ext01 - 화면회전 -XAML 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <Button Name= button1 Content= Both Click= button1_click /> <Button Name= button2 Content= Portrait Click= button2_click /> <Button Name= button3 Content= Landscape Click= button3_click /> </StackPanel> </Grid> 79

80 WP7 개발시작 (WPA22Ext01) -CS(MainPage.xaml.cs) 에서의코드생성 private void button1_click(object sender, RoutedEventArgs e) //both this.supportedorientations = SupportedPageOrientation.PortraitOrLandscape; private void button2_click(object sender, RoutedEventArgs e) //portrait this.supportedorientations = SupportedPageOrientation.Portrait; private void button3_click(object sender, RoutedEventArgs e) //Landscape this.supportedorientations = SupportedPageOrientation.Landscape; this.orientation = PageOrientation.Landscape; 80

81 WP7 개발시작 (WPA23) 개발환경구축예제 - c:\wp7\wpa23 - 피벗페이지만들기 - 어플리케이션안에서뷰또는페이지들관리의편리함을제공 - 파노라마와의차이점은상단의타이틀이고정되면서여러개패널중에현재자신의것만활성화하여현재보고있는위치를알려줌. -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Content= Button Height= 149 HorizontalAlignment= Left Margin= 107,89,0,0 x:name= button1 VerticalAlignment= Top Width= 241 Click= button1_click /> </Grid> -XAML 파일추가생성 Solution Explorer > Add > New Item > Windows Phone Pivot Application > PivotPage1.xaml 생성 81

82 WP7 개발시작 (WPA23) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) NavigationService.Navigate(new Uri( /PivotPage1.xaml,UriKind.Relative)); -XAML(PivotPage1.xaml) 에서코드생성 : Pivot 페이지형식 <Grid x:name= LayoutRoot Background= Transparent > <controls:pivot Title= PivotPage > <controls:pivotitem Header= item1 > </controls:pivotitem> <controls:pivotitem Header= item2 > </controls:pivotitem> <controls:pivot> </Grid> 82

83 WP7 개발시작 (WPA23) 83 -XAML(PivotPage1.xaml) 에서코드생성 <Grid x:name= LayoutRoot Background= Transparent > <controls:pivot Title= PivotPage > <controls:pivotitem Header= item1 > <Grid> <ListBox Height= 402 HorizontalAlignment= Left Margin= 10,10,0,0 Name= listbox1 VerticalAlignment= Top Width= 460 /> </Grid> </controls:pivotitem> <controls:pivotitem Header= item2 > <Grid> <ListBox Height= 402 HorizontalAlignment= Left Margin= 10,10,0,0 Name= listbox2 VerticalAlignment= Top Width= 460 /> </Grid> </controls:pivotitem> <controls:pivotitem Header= item3 > <Grid> <Button Content= Button Height= 229 VerticalAlignment= Top HorizontalAlignment= Center Name= button1 Width= 287 Click= button1_click /> </Grid> </controls:pivotitem> <controls:pivot> </Grid>

84 WP7 개발시작 (WPA23) -CS(PivotPage1.xaml.cs) 에서코드생성 public PivotPage1() InitializeComponent(); listbox1.items.add( ); listbox1.items.add( ); listbox1.items.add( ); listbox2.items.add( ); listbox2.items.add( ); listbox3.items.add( );. private void button1_click(object sender, RoutedEventArgs e) Uri uri = new Uri( /MainPage.xaml,UriKind.Relative); NavigationService.Navigate(uri); 84

85 WP7 개발시작 (WPA23Ext01) 개발환경구축예제 - c:\wp7\wpa23ext01 - Pivot 컨트롤의여러페이지중지정한페이지로바로가기 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button x:name= button1 Content= PivotPage 로가기 Click= button1_click /> </Grid> -XAML 파일추가생성 Solution Explorer > Add > New Item > Windows Phone Pivot Page > PivotPage1.xaml 생성 85

86 WP7 개발시작 (WPA07Ext01) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) NavigationService.Navigate(new Uri( /PivotPage1.xaml,UriKind.Relative)); -XAML(PivotPage1.xaml) 에서코드생성 <Grid x:name= LayoutRoot Background= Transparent > <controls:pivot Title= PivotPage x:name= PivotItem1 > <controls:pivotitem Header= PivotItem1 > <Grid> <Button x:name= button2 Content= Pivot Item2 로가기 Click= button2_click /> </Grid> </controls:pivotitem> <controls:pivotitem Header= PivotItem2> <Grid> <ListBox x:name= listbox1 /> </Grid> </controls:pivotitem> <controls:pivot> </Grid> 86

87 WP7 개발시작 (WPA23Ext01) -CS(PivotPage1.xaml.cs) 에서코드생성 public PivotPage1() InitializeComponent(); listbox1.items.add( ABC ); listbox1.items.add( DEF ); listbox1.items.add( GHI ); private void button1_click(object sender, RoutedEventArgs e) PivotControl.SelectedItem = PivotControl.Items[1]; 87

88 WP7 개발시작 (WPA24) 개발환경구축예제 - c:\wp7\wpa24 - 파노라마페이지만들기 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Content= Panorama Page 로이동 x:name= button1 Click= button1_click /> </Grid> -XAML 파일추가생성 Solution Explorer > Add > New Item > Windows Phone Panorama Page > PanoramaPage1.xaml 생성 88

89 WP7 개발시작 (WPA24) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) Uri uri = new Uri( /PanoramaPage1.xaml, UriKind.Relative); NavigationService.Navigate(uri); -XAML(PanoramaPage1.xaml) 에서코드생성 : Panorama Page 의배경이미지삽입 <Grid x:name= LayoutRoot > <controls:panorama Title= my application > <controls:panorama.background> <ImageBrush ImageSource= images/hydrangeas.jpg /> </controls:panorama.background> <controls:panorama> </Grid> : Solution Explorer 의 images 폴더에배경이미지를추가하는선행작업이필요함. 89

90 WP7 개발시작 (WPA25) 개발환경구축예제 - c:\wp7\wpa25 - 리스트활용 (1) : WPA23,WPA23Ext01 에서선보였던리스트응용 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <ListBox x:name= listbox1 /> </Grid> - CS(MainPage.xaml.cs) 에서코드생성 string[] strcolor = RED, YELLOW, GREEN, BLUE ; public MainPage() InitializeComponent(); listbox1.itemssource = strcolor; 90

91 WP7 개발시작 (WPA25) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) Uri uri = new Uri( /PanoramaPage1.xaml, UriKind.Relative); NavigationService.Navigate(uri); -XAML(PanoramaPage1.xaml) 에서코드생성 : Panorama Page 의배경이미지삽입 <Grid x:name= LayoutRoot > <controls:panorama Title= my application > <controls:panorama.background> <ImageBrush ImageSource= images/hydrangeas.jpg /> </controls:panorama.background> <controls:panorama> </Grid> : Solution Explorer 의 images 폴더에배경이미지를추가하는선행작업이필요함. 91

92 WP7 개발시작 (WPA26) 92 개발환경구축예제 - c:\wp7\wpa26 - 리스트활용 (2) : WPA23,WPA23Ext01 에서선보였던리스트응용 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <ListBox x:name= listbox1 SelectionChanged= listbox1_selectionchanged > <ListBox.ItemTemplate> <DataTemplate> <Border BorderBrush= Red BorderThickness= 2 Margin= 0,1 > <StackPanel> <TextBlock Text= Binding useritem1 /> <TextBlock Text= Binding useritem2 /> <TextBlock Text= Binding useritem3 /> </StackPanel> </Border> </DataTemplate> </ListBox.ItemTemplate> <ListBox.ItemContainerStyle> <Style TargetType= ListBoxItem > <Setter Property= HorizontalContentAlignment value= Stretch /> </Style> </ListBox.ItemContainerStyle> </ListBox> </Grid>

93 WP7 개발시작 (WPA26) -CS(MainPage.xaml.cs) 에서코드생성 // 클래스선언 public class userclass public string useritem1 get; set; public string useritem2 get; set; public string useritem3 get; set; public override string ToString() return useritem1 + / + useritem2 + / + useritem3; //userclass 객체생성 -> List 생성 List<userClass> listofuser = new List<userClass>() new userclass() useritem1= AAA, useritem2= 111, useritem3= aaa, new userclass() useritem1= BBB, useritem2= 222, useritem3= bbb, new userclass() useritem1= CCC, useritem2= 333, useritem3= ccc 93

94 WP7 개발시작 (WPA26) -CS(MainPage.xaml.cs) 에서코드생성 //MainPage() 생성자 public MainPage() InitializeComponent(); listbox1.itemssource = listofuser; private void listbox1_selectionchanged(object sender, SelectionChangedEventArgs e) int nsel = listbox1.selectedindex; userclass uc = (userclass)listbox1.items[nsel]; MessageBox.Show(uc.ToString()); 94

95 WP7 개발시작 (WPB01) 개발환경구축예제 - c:\wp7\wpb01 - IsolatedStorage( 격리저장소 ) -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel Orientation= Vertical > <Button Content= 쓰기 Name= button1 Click= button1_click /> <Button Content= 읽기 Name= button2 Click= button2_click /> <Button Content= 지우기 Name= button3 Click= button3_click /> </StackPanel> </Grid> -CS(MainPage.xaml.cs) 에서코드생성 : 참조레퍼런스선언 using System.IO; using System.IO.IsolatedStorage; using System.Diagnostics; using System.Text; 95

96 WP7 개발시작 (WPB01) -CS(MainPage.xaml.cs) 에서코드생성 : 쓰기기능이벤트핸들러 private void button1_click(object sender, RoutedEventArgs e) // 쓰기 IsolatedStorageFile appstorage = null; //GetUser.. 독립된저장소정보가져옴 appstorage = IsolatedStorageFile.GetUserStoreForApplication(); IsolatedStorageFileStream file = null; // 독립된저장소의파일사용위해선언 file = appstorage.openfile( WPB01.txt, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); // 쓰기용도 file.seek(0,seekorigin.end); String strtext = 12345\r\n ; Encoding enc = Encoding.Unicode; // 윈도우폰에서는 Unicode만지원 Byte[] ctext = enc.getbytes(strtext); file.write(ctext, 0, ctext.length); file.close(); long lfree = appstorage.availablefreespace; Debug.WriteLine(lfree.ToString()); String[] files = appstorage.getfilenames(); foreach(string filename in files) Debug.WriteLine(filename); // 저장가능한여유공간 96

97 WP7 개발시작 (WPB01) -CS(MainPage.xaml.cs) 에서코드생성 : 읽기기능이벤트핸들러 private void button2_click(object sender, RoutedEventArgs e) // 읽기 IsolatedStorageFile appstorage = null; appstorage = IsolatedStorageFile.GetUserStoreForApplication(); IsolatedStorageFileStream file = null; file = appstorage.openfile( WPB01.txt, FileMode.Open, FileAccess.Read, FileShare.None); file.seek(0,seekorigin.begin); Byte[] ctext = new Byte[file.Length]; for(int i=0; i < file.length; i++) ctext[i] = (Byte)file.ReadByte(); file.close(); Encoding enc = Encoding.Unicode; String strout = enc.getstring(ctext, 0, ctext.length); MessageBox.Show(strOut); 97

98 WP7 개발시작 (WPB01) -CS(MainPage.xaml.cs) 에서코드생성 : 지우기기능이벤트핸들러 private void button3_click(object sender, RoutedEventArgs e) // 지우기 IsolatedStorageFile appstorage = null; appstorage = IsolatedStorageFile.GetUserStoreForApplication(); appstorage.deletefile( WPB01.txt ); 98

99 WP7 개발시작 (WPB01) 참고사항 -IsolatedStorage( 격리저장소 ) 실버라이트에서부터제공실버라이트의 API 와동일한기능 Device 의 Flash Memory 에서제공하는만큼의용량지원 : 저장코드샘플 var appstorage = IsolatedStorageFile.GetUserStoreForApplication(); string filename= storefile.txt ; using(var file=appstorage.openfile(filename, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write)) using(var writer = new StreamWriter(file)) writer.write(textbox1.text); 99

100 WP7 개발시작 (WPB01) 참고사항 -IsolatedStorage( 격리저장소 ) : 읽기코드샘플 using(isolatedstoragefile store = IsolatedStorageFile.GetUserStoreForApplication()) using(streamreader sr = new StreamReader(store.OpenFile( storefile.txt, FileMode.Open, FileAccess.Read))) textbox1.text = sr.readtoend(); 100

101 WP7 개발시작 (WPB01Ext01) 개발환경구축예제 - c:\wp7\wpb01ext01 - TextBox 의데이터를입력해서 IsolatedStorage( 격리저장소 ) 에저장및저장된파일읽어오기 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <TextBox x:name= textbox1 Width= 480 Height= 263 TextWrapping= Wrap AcceptsReturn= true /> <StackPanel Orientation= Horizontal HorizontalAlignment= Center > <Button x:name= button1 Content= 저장 Click= button1_click /> <Button x:name= button2 Content= 지우기 Click= button2_click /> <Button x:name= button3 Content= 읽기 Click= button3_click /> </StackPanel> </StackPanel> </Grid> 101

102 WP7 개발시작 (WPB01Ext01) -CS(MainPage.xaml.cs) 에서코드생성 : 참조레퍼런스선언 using System.IO; using System.IO.IsolatedStorage; : 쓰기기능이벤트핸들러 private void button1_click(object sender, RoutedEventArgs e) IsolatedStorageFile appstorage = IsolatedStorageFile.GetUserStoreForApplication(); string filename = storefile.txt ; using(isolatedstoragefilestream file = appstorage.openfile(filename, FileMode.OpenOrCreate, FileAccess.Write)) using(streamwriter writer = new StreamWriter(file)) writer.write(textbox1.text); 102

103 WP7 개발시작 (WPB01Ext01) -CS(MainPage.xaml.cs) 에서코드생성 : 텍스트박스의내용지우기 private void button2_click(object sender, RoutedEventArgs e) textbox1.text = String.Empty; : 읽기기능이벤트핸들러 private void button3_click(object sender, RoutedEventArgs e) // 읽기 using(isolatedstoragefile appstorage = IsolatedStorageFile.GetUserStoreForApplication()) using(streamreader reader = new StreamReader(appStorage.OpenFile( storefile.txt,filemode.open, FileAccess.Read))) textbox1.text = reader.readtoend(); 103

104 WP7 개발시작 (WPB01Ext02) 104 개발환경구축예제 - c:\wp7\wpb01ext02 - IsolatedStoreage 에저장된파일목록보기및할당량, 남은공간정보 -XAML(MainPage.xaml) 에서코드생성 <phone:phoneapplicationpage Loaded= PhoneApplicationPage_Loaded > <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel Orientation= Vertical > <ListBox x:name= listbox1 Height= 250 > <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation= Horizontal > <TextBlock Text= Binding /> <HyperlinkButton x:name= hyperlinkbutton1 Content= Binding Click= hyperlinkbutton1_click /> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> <TextBlock x:name= textblock1 Text= 할당량은? FontSize= 30 /> <TextBlock x:name= textblock2 Text= 남은공간은? FontSize= 30 /> <Button x:name= button1 Content= 파일목록보기 Click= button1_click /> </StackPanel> </Grid>

105 WP7 개발시작 (WPB01Ext02) -XAML 파일추가생성 Solution Explorer > Add > New Item > Windows Phone Portrait Page > Page1.xaml 생성 -CS(MainPage.xaml.cs) 에서코드생성 : 참조레퍼런스선언 using System.IO; using System.IO.IsolatedStorage; 105

106 WP7 개발시작 (WPB01Ext02) -CS(MainPage.xaml.cs) 에서코드생성 : 페이지가로드되었을때정보보여주기 private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) DisplayInfo(); private void DisplayInfo() using(var isf = IsolatedStorageFile.GetUserStoreForApplication()) listbox1.itemssource = isf.getfilenames(); textblock1.text = String.Format( 할당량은? 0,isf.Quota); // 격리된저장소에서사용할수있는공간의최대크기값 textblock2.text = String.Format( 남은공간은? 0, isf.availablefreespace); // 격리된저장소의사용가능한공간을나타내는값 106

107 WP7 개발시작 (WPB01Ext02) 107 -CS(MainPage.xaml.cs) 에서코드생성 : 파일목록보기버튼클릭시임의의파일이생성되고정보보여주기 private void button1_click(object sender, RoutedEventArgs e) CreateFile( StoreFile1.txt, 첫번째샘플파일 ); CreateFile( StoreFile2.txt, 두번째샘플파일 ); CreateFile( StoreFile3.txt, 세번째샘플파일 ); DisplayInfo(); private void CreateFile(string filename, string filecontent) using(var isf = IsolatedStorageFile.GetUserStoreForApplication()) if(!isf.fileexists(filename)) using(var file = isf.createfile(filename)) using(streamwriter sw = new StreamWriter(file)) sw.writeline(filecontent);

108 WP7 개발시작 (WPB01Ext02) -CS(MainPage.xaml.cs) 에서코드생성 : 파일목록에서하나의파일클릭시 Page1.xaml 에정보표시 private void hyperlinkbutton1_click(object sender, RoutedEventArgs e) var hyperlink = sender as HyperlinkButton; string filename = hyperlink.content.tostring(); string uri = String.Format( /Page1.xaml?FileName=0,fileName); 108

109 WP7 개발시작 (WPB01Ext02) -XAML(Page1.xaml) 에서코드생성 <Grid x:name= ContentPanel Grid.Row= 1 Margin= 12,0,12,0 > <StackPanel> <TextBlock x:name= textblock1 /> <TextBlock x:name= textblock2 /> <HyperlinkButton x:name= hyperlinkbutton1 Content= 메인화면으로이동 NavigateUri= /MainPage.xaml /> </StackPanel> </Grid> 109

110 WP7 개발시작 (WPB01Ext02) 110 -CS(Page1.xaml.cs) 에서코드생성 (using System.IO, using System.IO.IsolatedStorage) public Page1() InitializeComponent(); this.loaded+=new RoutedEventHandler(Page1_Loaded); void Page1_Loaded(object sender, RoutedEventArgs e) if(navigationcontext.querystring[ FileName ]!= null) textblock1.text = NavigationContext.QueryString[ FileName ]; using(var isf=isolatedstoragefile.getuserstoreforapplication()) using(streamreader reader = new StreamReader( isf.openfile(textblock1.text, FileMode.Open, FileAccess.Read))) // 현재위치에서끝까지스트림을읽는다. textblock2.text = reader.readtoend();

111 WP7 개발시작 (WPB03) 개발환경구축예제 - c:\wp7\wpb03 - 폴더생성및삭제 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <TextBox Name= textbox1 Text= TextBox /> <Button Content= 폴더생성 Name= button1 Click= button1_click /> <Button Content= 폴더삭제 Name= button2 Click= button2_click /> <TextBlock Name= textblock1 Text= TextBlock /> </StackPanel> </Grid> 111

112 WP7 개발시작 (WPB03) -CS(MainPage.xaml.cs) 에서코드생성 public MainPage() InitializeComponent(); FolderInfo(); private void FolderInfo() IsolatedStorageFile appstorage = null; appstorage = IsolatedStorageFile.getUserStoreForApplication(); string[] folder = appstorage.getdirectorynames(); string stroutput = ; foreach(string foldername in folder) stroutput += foldername + \n ; textblock1.text = stroutput; 112

113 WP7 개발시작 (WPB03) -CS(MainPage.xaml.cs) 에서코드생성 : 폴더생성버튼클릭시 private void button1_click(object sender, RoutedEventArgs e) CreateFolder(textBox1.Text); FolderInfo(); private void CreateFolder(string strpath) IsolatedStorageFile appstorage = null; appstorage = IsolatedStorageFile.getUserStoreForApplication(); if(appstorage.dirctoryexists(strpath) == true) MessageBox.Show( 해당폴더가존재합니다. ); return; appstorage.createdirectory(strpath); // 격리된저장소범위내에디렉토리생성 113

114 WP7 개발시작 (WPB03) -CS(MainPage.xaml.cs) 에서코드생성 : 폴더삭제버튼클릭시 private void button2_click(object sender, RoutedEventArgs e) DeleteFolder(textBox1.Text); FolderInfo(); private void DeleteFolder(string strpath) IsolatedStorageFile appstorage = null; appstorage = IsolatedStorageFile.getUserStoreForApplication(); if(appstorage.dirctoryexists(strpath) == false) MessageBox.Show( 해당폴더가존재하지않습니다. ); return; appstorage.deletedirectory(strpath); // 격리저장소범위내에있는디렉토리삭제 114

115 WP7 개발시작 (WPB04) 개발환경구축예제 - c:\wp7\wpb04 - 설정 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <TextBox Name= textbox1 Text= TextBox /> <Button Content= 설정저장 Name= button1 Click= button1_click /> <Button Content= 설정읽기 Name= button2 Click= button2_click /> <Button Content= 설정삭제 Name= button3 Click= button3_click /> <TextBlock Name= textblock1 Text= Class 활용 /> <Button Content= 설정저장 Name= button4 Click= button4_click /> <Button Content= 설정읽기 Name= button5 Click= button5_click /> </StackPanel> </Grid> 115

116 WP7 개발시작 (WPB04) -CS(MainPage.xaml.cs) 에서코드생성 using System.IO.Isolated; String m_strkey = mkey ; private void button1_click(object sender, RoutedEventArgs e) // 설정저장 if(isolatedstoragesettings.applicationsettings.contains(m)strkey)==true) IsolatedStorageSettings.ApplicationSettings[m_strKey] = textbox1.text; else IsolatedStorageSettings.ApplicationSettings.Add(m_strKey,textBox1.Text); IsolatedStorageSettings.ApplicationSettings.Save(); 116

117 WP7 개발시작 (WPB04) 117 -CS(MainPage.xaml.cs) 에서코드생성 private void button2_click(object sender, RoutedEventArgs e) // 설정읽기 String strdata = : if(isolatedstoragesettings.applicationsettings.contains(m_strkey)==true) strdata = IsolatedStorageSettings.ApplicationSettings[m_strKey] as String; else strdata = 저장된내역이없습니다. ; MessageBox.Show(strData); private void button3_click(object sender, RoutedEventArgs e) // 설정삭제 if(isolatedstoragesettings.applicationsettings.contains(m_strkey)==true) IsolatedStorageSettings.ApplicationSettings.Remove(m_strKey);

118 WP7 개발시작 (WPB04) -CS(MainPage.xaml.cs) 에서코드생성 public class Mdata public string mtext get; set; public long mlong get; set; private void button4_click(object sender, RoutedEventArgs e) // 설정저장 MData m = new Mdata(); m.mtext = 문자열입니다. ; m.mlong = 999; if(isolatedstoragesettings.applicationsettings.contains(m_strkey)==true) IsolatedStorageSettings.ApplicationSettings.Remove(m_strKey); IsolatedStorageSettings.ApplicationSettings.Add(m_strKey, m); IsolatedStorageSettings.ApplicationSettings.Save(); 118

119 WP7 개발시작 (WPB04) -CS(MainPage.xaml.cs) 에서코드생성 private void button5_click(object sender, RoutedEventArgs e) String strdata = ; if(isolatedstoragesettings.applicationsettings.contains(m_strkey)==true) MData m = IsolatedStorageSettings.ApplicationSettings[m_strKey] as Mdata; strdata = m.mtext + \n + m.mlong.tostring(); else strdata = 지정된내역이없습니다. ; MessageBox.Show(strData); 119

120 WP7 개발시작 (WPD01) 개발환경구축예제 - c:\wp7\wpd01 - 테마색상활용 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Content= Button Name= button1 Click= button1_click > </Grid> 120

121 WP7 개발시작 (WPD01) -CS(MainPage.xaml.cs) 에서코드생성 private void FolderInfo() Color themefore = (Color)Application.Current.Resources[ PhoneForegroundColor ]; Color themeback = (Color)Application.Current.Resources[ PhoneBackgroundColor ]; Color themeaccent = (Color)Application.Current.Resources[ PhoneAccentColor ]; PageTitle.Foreground = new SolidColorBrush(themeFore); ApplicationTitle.Foreground = new SolidColorBrush(themeAccent); TitlePanel.Background = new SolidColorBrush(themeFore); LayoutRoot.Background = new SolidColorBrush(themeAccent); 121

122 WP7 개발시작 (WPD01) 참고사항 - 테마색상정보 BLUE[ARGB 값 ] : #FF1BA1E2 / ORANGE[ARGB 값 ] : #FFF09609 GREEN[ARGB 값 ] : #FF / RED[ARGB 값 ] : #FFE51400 PURPLE[ARGB 값 ] : #FFA200FF / BROWN[ARGB 값 ] : #FFA05000 TEAL[ARGB 값 ] : #FF00ABA9 / PINK[ARGB 값 ] : #FFE671B8 LIME[ARGB 값 ] : #FF8CBF26 / MAGENTA[ARGB 값 ] : #FFFF

123 WP7 개발시작 (WPD02) 개발환경구축예제 - c:\wp7\wpd02 - 외부폰트사용하기 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Content= Button Name= button1 Click= button1_click Height= 103 VerticalAlignment= Center HorizontalAlignment= Center Width= 300 /> <TextBlock Text= 테스트 ABC Name= textblock1 Height= 192 VerticalAlignment= Top HorizontalAlignment= Left Width= 450 /> </Grid> - 폰트파일을프로젝트에추가하기 Windows\Fonts 의지정폰트를프로젝트에복사하기 Build Action : Content Copy to Output Directory : Copy always 123

124 WP7 개발시작 (WPD02) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) StreamResourceInfo fontresourceinfo = Application.GetResourceStream( new Uri( MYRIADPRO-REGULAR.OTF,UriKind.Relative)); FontSource fontsource = new FontSource(fontResourceInfo.Stream); textblock1.fontsource = fontsource; textblock1.fontfamily = new FontFamily( Myriad Pro ); textblock1.fontsize = 30; texxtblock1.fontweight = FontWeights.Bold; PageTitle.FontSource = fontsource; PageTitle.FontFamily = new FontFamily( Myriad Pro ); PageTitle.FontStyle = FontStyles.Italic; 124

125 WP7 개발시작 (WPD03) 개발환경구축예제 - c:\wp7\wpd03 - 타일 (Tile) Icon -Background.jpg 와 ApplicationIcon.jpg Background.jpg : 메인화면의타일에설정됨. 가로세로 173pixel ApplicationIcon.jpg : 프로그램목록의아이콘. 가로세로 63pixel - 프로젝트 > 속성프로젝트 > 속성 > Application > Deployment options Area - Pin to Start 타일로프로그램을옮기거나제거 125

126 WP7 개발시작 (WPC01Ext01) 개발환경구축예제 - c:\wp7\wpc01ext01 - XAML 에서앱바 (ApplicationBar) 만들기 -XAML(MainPage.xaml) 에서코드생성 <phone:phoneapplicationpage.applicationbar> <shell:applicationbar IsVisible= True IsMenuEnabled= True > </shell:applicationbar> </phone:phoneapplicationpage.applicationbar> 부분의주석해제 - 아이콘파일을프로젝트에추가하기프로젝트내에 images 폴더를생성하고 C:\Program Files\ Microsoft SDKs\Windows Phone\v7.1\Icons\dark 내의임의의파일을 images 폴더내에복사이미지속성 Build Action : Content Copy to Output Directory : Copy always - 이벤트핸들러생성 126

127 WP7 개발시작 (WPC01) 개발환경구축예제 - c:\wp7\wpc01 - 앱바 (ApplicationBar) 만들기 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Content= Button Height= 607 Name= button1 Width= 450 Click= button1_click /> </Grid> - 아이콘파일을프로젝트에추가하기프로젝트내에 icon 폴더를생성하고 C:\Program Files\ Microsoft SDKs\Windows Phone\v7.1\Icons\dark 내의임의의파일을 icon 폴더내에복사이미지속성 Build Action : Content Copy to Output Directory : Copy always 127

128 WP7 개발시작 (WPC01) -CS(MainPage.xaml.cs) 에서코드생성 using Microsoft.Phone.Shell; public MainPage() //MainPage() 생성자시작 InitializeComponent(); this.supportedorientations = SupportedPageOrientation.PortraitOrLandscape; ApplicationBar = new ApplicationBar(); ApplicationBar.IsMenuEnabled = true; ApplicationBar.IsVisible = true; ApplicationBarIconButton baritem1 = new ApplicationBarIconButton( new Uri( icon/appbar.feature. .rest.png,urikind.relative) ); baritem1.text= 아이템 1 ; baritem1.click += new EventHangler(baritem1_Click); 128

129 WP7 개발시작 (WPC01) -CS(MainPage.xaml.cs) 에서코드생성 //MainPage() 생성자계속 ApplicationBarIconButton baritem2 = new ApplicationBarIconButton( new Uri( icon/appbar.feature.video.rest.png,urikind.relative) ); baritem2.text= 아이템 2 ; baritem2.click += new EventHangler(baritem2_Click); ApplicationBarIconButton baritem3 = new ApplicationBarIconButton( new Uri( icon/appbar.feature.sync.rest.png,urikind.relative) ); baritem3.text= 아이템 3 ; baritem3.click += new EventHangler(baritem3_Click); ApplicationBar.Buttons.Add(baritem1); ApplicationBar.Buttons.Add(baritem2); ApplicationBar.Buttons.Add(baritem3); //MainPage() 생성자계속 129

130 WP7 개발시작 (WPC01) -CS(MainPage.xaml.cs) 에서코드생성 //MainPage() 생성자계속 ApplicationBarMenuItem menuitem1 = new ApplicationBarMenuItem( 메뉴바 1 ); menuitem1.click += new EventHandler(menuitem1_Click); ApplicationBarMenuItem menuitem2 = new ApplicationBarMenuItem( 메뉴바 2 ); menuitem2.click += new EventHandler(menuitem2_Click); ApplicationBar.MenuItems.Add(menuitem1); ApplicationBar.MenuItems.Add(menuitem2); //MainPage생성자끝 // 각각의이벤트핸들러는 MessageBox.Show() 이용 void menuitem1_click(object sender, EventArgs e) MessageBox.Show( menuitem1click ); 130

131 WP7 개발시작 (WPC01) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) ApplicationBar.IsMenuEnabled = false; ApplicationBar.IsVisible = true; ApplicationBar.Opacity = 0.5; 131

132 WP7 개발시작 (WPC01) 참고사항 -ApplicationBar 의최대아이콘개수최대 4 개까지만지원한다. -UIElement 의 Opacity : UIElement 의투명도를나타내는값불투명도인수를선언하는 0 부터 1.0 사이의값 1.0 은완전불투명 ( 기본값 ), 0 은투명 132

133 WP7 개발시작 (WPC02) 개발환경구축예제 - c:\wp7\wpc02 - 앱바 (ApplicationBar) 꾸미기 ( 색상변경 ) WPC01 예제참조 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Content= Button Height= 607 Name= button1 Width= 450 Click= button1_click /> </Grid> - 아이콘파일을프로젝트에추가하기프로젝트내에 icon 폴더를생성하고 C:\Program Files\ Microsoft SDKs\Windows Phone\v7.1\Icons\dark 내의임의의파일을 icon 폴더내에복사이미지속성 Build Action : Content Copy to Output Directory : Copy always 133

134 WP7 개발시작 (WPC02) -CS(MainPage.xaml.cs) 에서코드생성 using Microsoft.Phone.Shell; public MainPage() //MainPage() 생성자시작 InitializeComponent(); this.supportedorientations = SupportedPageOrientation.PortraitOrLandscape; ApplicationBar = new ApplicationBar(); ApplicationBar.IsMenuEnabled = true; ApplicationBar.IsVisible = true; ApplicationBarIconButton baritem1 = new ApplicationBarIconButton( new Uri( icon/appbar.feature. .rest.png,urikind.relative) ); baritem1.text= 아이템 1 ; baritem1.click += new EventHangler(baritem1_Click); 134

135 WP7 개발시작 (WPC02) -CS(MainPage.xaml.cs) 에서코드생성 //MainPage() 생성자계속 ApplicationBarIconButton baritem2 = new ApplicationBarIconButton( new Uri( icon/appbar.feature.video.rest.png,urikind.relative) ); baritem2.text= 아이템 2 ; baritem2.click += new EventHangler(baritem2_Click); ApplicationBarIconButton baritem3 = new ApplicationBarIconButton( new Uri( icon/appbar.feature.sync.rest.png,urikind.relative) ); baritem3.text= 아이템 3 ; baritem3.click += new EventHangler(baritem3_Click); ApplicationBar.Buttons.Add(baritem1); ApplicationBar.Buttons.Add(baritem2); ApplicationBar.Buttons.Add(baritem3); //MainPage() 생성자계속 135

136 WP7 개발시작 (WPC02) -CS(MainPage.xaml.cs) 에서코드생성 //MainPage() 생성자계속 ApplicationBarMenuItem menuitem1 = new ApplicationBarMenuItem( 메뉴바 1 ); menuitem1.click += new EventHandler(menuitem1_Click); ApplicationBarMenuItem menuitem2 = new ApplicationBarMenuItem( 메뉴바 2 ); menuitem2.click += new EventHandler(menuitem2_Click); ApplicationBar.MenuItems.Add(menuitem1); ApplicationBar.MenuItems.Add(menuitem2); //MainPage생성자끝 // 각각의이벤트핸들러는 MessageBox.Show() 이용 void menuitem1_click(object sender, EventArgs e) MessageBox.Show( menuitem1click ); 136

137 WP7 개발시작 (WPC02) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) ApplicationBar.IsMenuEnabled = false; ApplicationBar.IsVisible = true; ApplicationBar.Opacity = 0.5; ApplicationBar.ForegroundColor = (Color)Application.Current.Resources[ PhoneAccentColor ]; ApplicationBar.BackgroundColor = Color.FromArgb(255,125,125,125); 137

138 WP7 개발시작 (WPC03) 개발환경구축예제 - c:\wp7\wpc03 - SystemTray -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Content= Button Height= 103 HorizontalAlignment= Left Name= button1 Margin= 120,64,0,0 Width= 219 VerticalAlignment= Top Click= button1_click /> </Grid> - 아이콘파일을프로젝트에추가하기프로젝트내에 icon 폴더를생성하고 C:\Program Files\ Microsoft SDKs\Windows Phone\v7.1\Icons\dark 내의임의의파일을 icon 폴더내에복사이미지속성 Build Action : Content Copy to Output Directory : Copy always 138

139 WP7 개발시작 (WPC03) -CS(MainPage.xaml.cs) 에서코드생성 using Microsoft.Phone.Shell; private void button1_click(object sender, RoutedEventArgs e) if(systemtray.isvisible == true) SystemTray.IsVisible = false; else SystemTray.IsVisible = true; 139

140 WP7 개발시작 (WPE01) 개발환경구축예제 - c:\wp7\wpe01 - GPS(Global Positioning System) 을이용한위치측정 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <my:map Height= 515 HorizontalAlignment= Left Margin= 13,86,0,0 Name= map1 VerticalAlignment= Top Width= 437 /> <Button Content= GPS Height= 72 HorizontalAlignment= Left Margin= 10,10,0,0 Name= button1 Width= 440 VerticalAlignment= Top Click= button1_click /> </Grid> -Reference 추가 Map 컨트롤을사용하려면프로젝트내에 Microsoft.Phone.Controls.Maps 레퍼런스를추가 xmlns:my= clr-namespace:microsoft.phone.controls.maps; assembly=microsoft.phone.controls.maps 추가간단하게는 Toolbox 에서 Map 컨트롤을직접생성하면자동추가됨. 140

141 WP7 개발시작 (WPE01) -CS(MainPage.xaml.cs) 에서코드생성 using System.Device.Location; using Microsoft.Phone.Controls.Maps; // 전역변수선언 GeoCoordinateWatcher watcher = null; double m_dblatitude = 0; double m_dblongitude = 0; // 위치정보를가져오는개체 // 위도 // 경도 141

142 WP7 개발시작 (WPE01) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) if(watcher==null) watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); watcher.statuschanged+= new EventHandler<GeoPositionStatusChangedEventArgs> (watcher_statuschanged); watcher.positionchanged+= new EventHandler<GeoPositionChangedEventArgs <GeoCoordinate>>(watcher_PositionChanged); watcher.start(); map1.zoomlevel = 15; map1.mode = new RoadMode(); map1.center = new GeoCoordinate(m_dbLatitude, m_dblongitude); map1.zoombarvisibility = Visibility.Visible; // button1_click 내용계속 142

143 WP7 개발시작 (WPE01) -CS(MainPage.xaml.cs) 에서코드생성 // button1_click 내용계속 String strlatitude = 위도 : + m_dblatitude.tostring( ); String strlongitude = 경도 : + m_dblongitude.tostring( ); ApplicationTitle.Text = strlatitude + / + strlongitude; void watcher_positionchanged(object sender, GeoPositionChagedEventArgs<GeoCoordinate> e) m_dblatitude = e.position.location.latitude; m_dblongitude = e.position.location.longitude; 143

144 WP7 개발시작 (WPE01) -CS(MainPage.xaml.cs) 에서코드생성 void watcher_statuschanged(object sender, GeoPositionStatusChangedEventArgs e) String strmsg = ; switch(e.status) case GeoPositionStatus.Disabled: strmsg = GPS 미지원 ; break; case GeoPositionStatus.Initializing: strmsg = GPS 초기화중 ;break; case GeoPositionStatus.NoData: strmsg = GPS 작동중 - 데이터 X ; break; case GeoPositionStatus.Ready: strmsg = GPS 작동중 ; break; PageTitle.Text = strmsg; 144

145 WP7 개발시작 (WPE01Ext01) 개발환경구축예제 - c:\wp7\wpe01ext01 - 구글맵을이용한 GPS(Global Positioning System) 을이용한위치측정 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Image Name= staticmap Width= 430 Height= 550 /> </Grid> -Reference 추가 System.Device 추가 145

146 WP7 개발시작 (WPE01Ext01) -CS(MainPage.xaml.cs) 에서코드생성 using System.Device.Location; using System.Windows.Threading; using System.Windows.Media.Imaging; // 전역변수선언 short ticks = 0; short nowticks = 0; int timer1 = 0; 146

147 WP7 개발시작 (WPE01Ext01) -CS(MainPage.xaml.cs) 에서코드생성 public MainPage() InitializeComponent(); DispatcherTimer timer = new DispatcherTimer(); timer.interval = TimeSpan.FromSecond(3); timer.tick += new EventHandler(timer_Tick); timer.start(); GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(); watcher.positionchanged += new EventHandler <GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged); watcher.start(); void timer_tick(object sender, EventArgs e) ticks++; timer1++; 147

148 WP7 개발시작 (WPE01Ext01) -CS(MainPage.xaml.cs) 에서코드생성 void watcher_positionchanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e) if(nowticks == 0) nowticks = ticks; ApplicationTitle.Text = string.format( 0:#.### / 1:#.####, e.position.location.latitude, e.position.location.longitude); if(timer1 % 2 == 0) string struri = string.format( =2x3&sensor=false, e.position.location.latitude, e.position.location.longitude, staticmap.width, staticmap.height); staticmap.source = new BitmapImage(new Uri(strUri,Urikind.Absolute)); nowticks = ticks = 0; 148

149 WP7 개발시작 (WPE01Ext02) 개발환경구축예제 - c:\wp7\wpe01ext02 - GPS 의위치정보를맵에뿌려주기. ZoomIn, ZoomOut, Mode 설정 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <StackPanel Orientation="Horizontal > <Button Name="button1" Content="GPS" Click="button1_Click /> <ToggleButton Name="togglebutton1" Content="Road Mode" Click="togglebutton1_Click" Width="230"/> </StackPanel> <my:map Height="450" Name="map1" Width="442" /> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center > <Button Name="button2" Content="Zoom In" Click="button2_Click"/> <Button Name="button3" Content="Zoom Out" Click="button3_Click"/> </StackPanel> </StackPanel> </Grid> 149

150 WP7 개발시작 (WPE01Ext02) -CS(MainPage.xaml.cs) 에서코드생성 using System.Device.Location; using Microsoft.Phone.Controls.Maps; using System.Windows.Controls.Primitives; // 전역변수선언 GeoCoordinateWatcher watcher = null; double m_dblatitude = 0; // 위도 double m_dblongitude = 0; // 경도 //ToggleButton // 위치정보를가져오는개체 150

151 WP7 개발시작 (WPE01Ext02) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) if(watcher==null) watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); watcher.movementthreshold = 20; var position = watcher.position; if(!position.location.isunknown) m_dblatitude = position.location.latitude; m_dblongitude = position.location.longitude; // button1_click 내용계속 151

152 WP7 개발시작 (WPE01Ext02) -CS(MainPage.xaml.cs) 에서코드생성 //button1_click 내용계속 watcher.statuschanged+= new EventHandler<GeoPositionStatusChangedEventArgs> (watcher_statuschanged); watcher.positionchanged+= new EventHandler<GeoPositionChangedEventArgs <GeoCoordinate>>(watcher_PositionChanged); watcher.start(); map1.zoomlevel = 5; map1.mode = new RoadMode(); map1.center = new GeoCoordinate(m_dbLatitude, m_dblongitude); map1.zoombarvisibility = Visibility.Collapsed; String strlatitude = 위도 : + m_dblatitude.tostring( ); String strlongitude = 경도 : + m_dblongitude.tostring( ); PageTitle.Text = strlatitude + / + strlongitude; 152

153 WP7 개발시작 (WPE01Ext02) -CS(MainPage.xaml.cs) 에서코드생성 void watcher_positionchanged(object sender, GeoPositionChagedEventArgs<GeoCoordinate> e) m_dblatitude = e.position.location.latitude; m_dblongitude = e.position.location.longitude; 153

154 WP7 개발시작 (WPE01Ext02) -CS(MainPage.xaml.cs) 에서코드생성 void watcher_statuschanged(object sender, GeoPositionStatusChangedEventArgs e) String strmsg = ; switch(e.status) case GeoPositionStatus.Disabled: strmsg = GPS 미지원 ; break; case GeoPositionStatus.Initializing: strmsg = GPS 초기화중 ;break; case GeoPositionStatus.NoData: strmsg = GPS 작동중 - 데이터 X ; break; case GeoPositionStatus.Ready: strmsg = GPS 작동중 ; break; PageTitle.Text = strmsg; 154

155 WP7 개발시작 (WPE01Ext02) -CS(MainPage.xaml.cs) 에서코드생성 private void togglebutton1_click(object sender, RoutedEventArgs e) ToggleButton togbtn = sender as ToggleButton; if(togbtn.ischecked.value) togbtn.content= Aerial Mode ; map1.mode = new AerialMode(); else togbtn.content= Road Mode ; map1.mode = new RoadMode(); // 항공촬영모드 // 도로 155

156 WP7 개발시작 (WPE01Ext02) -CS(MainPage.xaml.cs) 에서코드생성 private void button2_click(object sender, RoutedEventArgs e) //Zoom In double zoom; zoom = map1.zoomlevel; map1.zoomlevel = ++zoom; private void button3_click(object sender, RoutedEventArgs e) //Zoom Out double zoom; zoom = map1.zoomlevel; map1.zoomlevel = --zoom; 156

157 WP7 개발시작 (WPE02) 개발환경구축예제 - c:\wp7\wpe02 - 진동 (Vibration) -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <Button Name= button1 Content= Start Vibration Click= button1_click /> <Button Name= button2 Content= Stop Vibration Click= button2_click /> </StackPanel> </Grid> 157

158 WP7 개발시작 (WPE02) -CS(MainPage.xaml.cs) 에서코드생성 using Microsoft.Devices; private void button1_click(object sender, RoutedEventArgs e) VibrateController.Default.Start(TimeSpan.FromSeconds(5)); button1.isenabled = false; button2.isenabled = true; //5 초진동 private void button2_click(object sender, RoutedEventArgs e) VibrateController.Default.Stop(); button2.isenabled = false; button1.isenabled = true; 158

159 WP7 개발시작 (WPE03) 개발환경구축예제 - c:\wp7\wpe03 - 가속도계 (Accelerometer) 센서를이용한값 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Canvas Name= canvas1 > <Ellipse Name= ellipse1 Height= 40 Width= 40 > <Ellipse.Fill> <RadialGradientBrush> <GradientStop Color= Black Offset= 1 /> <GradientStop Color= #FFE4C017 /> <GradientStop Color= #FF Offset= 0.5 /> </RadialGradientBrush> </Ellipse.Fill> </Ellipse> </Canvas> </Grid> 159

160 WP7 개발시작 (WPE03) -CS(MainPage.xaml.cs) 에서코드생성 using Microsoft.Devices.Sensors; Accelerometer accelerometer = null; public MainPage() InitializeComponent(); accelerometer = new Accelerometer(); this.loaded += new RoutedEventHandler(MainPage_Loaded); void MainPage_Loaded(object sender, RoutedEventArgs e) accelerometer.readingchanged += new EventHandler<AccelerometerReadingEventArgs> (accelerometer_readingchanged); 160

161 WP7 개발시작 (WPE03) -CS(MainPage.xaml.cs) 에서코드생성 void accelerometer_readingchanged(object sender, AccelerometerReadingEventArgs e) Deployment.Current.Dispatcher.BeginInvoke(() => MyReadingChaged(e)); Dispatcher Class 는현재 UI 를기반으로하지않는스레드의사용자인터페이스에서만실행코드를지원함. DependencyObject.Dispatcher 및 ScriptObject.Dispatcher 속성을통해 UI 스레드의 Dispatcher 개체를액세스할수있다. 이들은인스턴스메서드이지만이러한형식의인스턴스는 UI 를기반으로하지않는스레드에서액세스할수없는경우가종종있다. 이럴때응용프로그램의 Deployment 개체는 DependencyObject 이고이개체는 Current 속성을통해모든스레드에서사용할수있다. 호출자가 UI 스레드에없을경우 BeginInvoke 를호출하여지정된대리자를 UI 스레드에서실행할수있다. UI 스레드가아닌곳에서 UI 스레드의메시지큐에메시지를보내게된다. 161

162 WP7 개발시작 (WPE03) -CS(MainPage.xaml.cs) 에서코드생성 private void MyReadingChanged(AccelerometerReadingEventArgs e) PageTitle.Text = String.Format( X:0 / Y:1 / Z:2, e.x, e.y, e.z); protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) accelerometer.start(); protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) accelerometer.stop(); 162

163 WP7 개발시작 (WPE03) 163 개발환경구축예제 - c:\wp7\wpe03.. 추가 - 가속도계 (Accelerometer) 센서를이용한값 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Canvas Name= canvas1 Width= 400 Height= 400 > <Ellipse Name= ellipse1 Height= 40 Width= 40 > <Ellipse.Fill> <RadialGradientBrush> <GradientStop Color= Black Offset= 1 /> <GradientStop Color= #FFE4C017 /> <GradientStop Color= #FF Offset= 0.5 /> </RadialGradientBrush> </Ellipse.Fill> <Ellipse.RenderTransform> <TransformGroup> <translatetransform/> </TransformGroup> </Ellipse.RenderTransform> </Ellipse> </Canvas> </Grid>

164 WP7 개발시작 (WPE03) -CS(MainPage.xaml.cs) 에서코드생성 using Microsoft.Devices.Sensors; private Accelerometer accelerometer; public MainPage() InitializeComponent(); accelerometer = new Accelerometer(); this.loaded += new RoutedEventHandler(MainPage_Loaded); void MainPage_Loaded(object sender, RoutedEventArgs e) accelerometer.readingchanged += new EventHandler<AccelerometerReadingEventArgs> (accelerometer_readingchanged); 164

165 WP7 개발시작 (WPE03) -CS(MainPage.xaml.cs) 에서코드생성 void accelerometer_readingchanged(object sender, AccelerometerReadingEventArgs e) Deployment.Current.Dispatcher.BeginInvoke(() => MyReadingChaged(e)); double m_dbx=0; double m_dby=0; double m_dbz=0; 165

166 WP7 개발시작 (WPE03) -CS(MainPage.xaml.cs) 에서코드생성 private void MyReadingChanged(AccelerometerReadingEventArgs e) PageTitle.Text = String.Format( X:0 / Y:1 / Z:2, e.x, e.y, e.z); TransformGroup tg = (TransformGroup)ellipse1.RenderTransform; TranslateTransform tt = (TranslateTransform)tg.Children[0]; double dbdeltax = m_dbx e.x; double dbdeltay = m_dby e.y; double dbdeltaz = m_dbz e.z; if(tt.x >=0 && tt.x <= canvas1.width) tt.x = tt.x dbdeltax * 4; if(tt.x < 0) tt.x = 0; if(tt.x > canvas1.width) tt.x = canvas1.width; if(tt.y >=0 && tt.y <= canvas1.height) tt.y = tt.y dbdeltaz * 4; if(tt.y < 0) tt.y = 0; if(tt.y > canvas1.height) tt.y = canvas1.height; 166

167 WP7 개발시작 (WPE03) -CS(MainPage.xaml.cs) 에서코드생성 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) accelerometer.start(); protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) accelerometer.stop(); 167

168 WP7 개발시작 (WPE03Ext01) 개발환경구축예제 - c:\wp7\wpe03ext01 - 가속도계 (Accelerometer) 센서를이용한값 (2) -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Name= button1 Content= Accelerometer Click= button1_click /> </Grid> -XAML 파일추가생성 Solution Explorer > Add > New Item > Windows Phone Portrait Page > Page1.xaml 생성 168

169 WP7 개발시작 (WPE03Ext01) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) NavigationService.Navigate( new Uri( /Page1.xaml, UriKind.Relative)); 169

170 WP7 개발시작 (WPE03Ext01) -XAML(Page1.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Content="Start" Height="72" HorizontalAlignment="Left" Margin="10,10,0,0" Name="startButton VerticalAlignment="Top" Width="160 Click="startButton_Click" /> <Button Content="Stop" Height="72" HorizontalAlignment="Right" Margin="0,10,10,0" Name="stopButton VerticalAlignment="Top" Width="160 Click="stopButton_Click"/> <TextBlock Height="30" HorizontalAlignment="Left" Margin="20,100,0,0" Name="xTextBlock" Text="X: 1.0" VerticalAlignment="Top" Foreground="Red" FontSize="28" FontWeight="Bold"/> <TextBlock Height="30" HorizontalAlignment="Center" Margin="0,100,0,0" Name="yTextBlock" Text="Y: 1.0" VerticalAlignment="Top" Foreground="Green" FontSize="28" FontWeight="Bold"/> <TextBlock Height="30" HorizontalAlignment="Right" Margin="0,100,20,0" Name="zTextBlock" Text="Z: 1.0" VerticalAlignment="Top" Foreground="Blue" FontSize="28" FontWeight="Bold"/> 170

171 WP7 개발시작 (WPE03Ext01) -XAML(Page1.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > //Grid 내계속 <Line x:name="xline" X1="240" Y1="350" X2="340" Y2="350" Stroke="Red" StrokeThickness="4"></Line> <Line x:name="yline" X1="240" Y1="350" X2="240" Y2="270" Stroke="Green" StrokeThickness="4"></Line> <Line x:name="zline" X1="240" Y1="350" X2="190" Y2="400" Stroke="Blue" StrokeThickness="4"></Line> <TextBlock Height="30" HorizontalAlignment="Center" Margin="6,571,6,0" Name="statusTextBlock" Text="TextBlock" VerticalAlignment="Top" Width="444 /> </Grid> 171

172 WP7 개발시작 (WPE03Ext01) -CS(Page1.xaml.cs) 에서코드생성 using Microsoft.Devices.Sensors; using Microsoft.Xna.Framework; Accelerometer accelerometer; Public Page1() InitializeComponent(); if(!accelerometer.issupported) statustextblock.text = Device does not support accelerometer ; startbutton.isenabled = false; stopbutton.isenabed = false; 172

173 WP7 개발시작 (WPE03Ext01) -CS(Page1.xaml.cs) 에서코드생성 private void startbutton_click(object sender, RoutedEventArgs e) if(accelerometer == null) accelerometer = new Accelerometer(); accelerometer.timebetweenupdates = TimeSpan.FromMilliseconds(20); accelerometer.currentvaluechanged += new EventHandler<sensorReadingEventArgs <AccelerometerReader>>(accelerometer_CurrentValueChanged); try accelerometer.start(); statustextblock.text = starting accelerometer ; catch(invalidoperationexception) statustextblock.text = Unable to start accelerometer ; 173

174 WP7 개발시작 (WPE03Ext01) -CS(Page1.xaml.cs) 에서코드생성 void accelerometer_currentvaluechanged(object sender, Sensor.) Deployment.Current.Dispatcher.BeginInvoke( ( )=>UpdateUI(e.SensorReading)); private void UpdateUI(Accelerometer accelerometerreading) statustextblock.text = "getting data ; Vector3 acceleration = accelerometerreading.acceleration; xtextblock.text = "X: " + acceleration.x.tostring("0.00"); ytextblock.text = "Y: " + acceleration.y.tostring("0.00"); ztextblock.text = "Z: " + acceleration.z.tostring("0.00"); xline.x2 = xline.x1 + acceleration.x * 200; yline.y2 = yline.y1 - acceleration.y * 200; zline.x2 = zline.x1 - acceleration.z * 100; zline.y2 = zline.y1 + acceleration.z * 100; 174

175 WP7 개발시작 (WPE03Ext01) -CS(Page1.xaml.cs) 에서코드생성 private void stopbutton_click(object sender, RoutedEventArgs e) accelerometer.stop(); statustextblock.text = accelerometer stopped ; 175

176 WP7 개발시작 (WPE04) 개발환경구축예제 - c:\wp7\wpe04 - 멀티터치 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Rectangle Name="rectangle1" Width="200" Height="200" Fill="Blue > <Rectangle.RenderTransform> <TransformGroup> <TranslateTransform/> <ScaleTransform/> </TransformGroup> </Rectangle.RenderTransform> </Rectangle> </Grid> 176

177 WP7 개발시작 (WPE04) -CS(MainPage.xaml.cs) 에서코드생성 public MainPage() InitializeComponent(); rectangle1.manipulationstarted += new EventHandler. rectangle1.manipulationdelta += new EventHandler.. rectangle1.manipulationcompleted += new EventHandler.. void rectangle1_manipulationstarted(object sender..) System.Diagnostics.Debug.WriteLine( 터치시작 ); void rectangle1_manipulationcompleted(object sender..) System.Diagnostics.Debug.WrteLine( 터치종료 ); 177

178 WP7 개발시작 (WPE04) -CS(MainPage.xaml.cs) 에서코드생성 void rectangle1_manipulationdelta(object sender, ) TransformGroup tg = (TransformGroup)rectangle1.RenderTransform; TranslateTransform tt = (TranslateTransform)tg.Children[0]; ScaleTransform st = (ScaleTransform)tg.Children[1]; tt.x += e.deltamanipulation.translation.x; tt.y += e.deltamanipulation.translation.y; st.scalex += e.deltamanipulation.scale.x; st.scaley += e.deltamanipulation.scale.y; String strout = String.Format( 터치이동 X:0, y:1 SX:2, SY:3, e.deltamanipulation.translation.x, e.deltamanipulation.translation.y, e.deltamanipulation.scale.x, e.deltamanipulation.scale.y); System.Diagnostics.Debug.WriteLine(strOut); 178

179 WP7 개발시작 (WPE05) 개발환경구축예제 - c:\wp7\wpe05 - Radio -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <TextBlock Name= textblock1 Text= TextBlock /> <TextBlock Name= textblock2 Text= TextBlock /> <TextBlock Name= textblock3 Text= TextBlock /> </StackPanel> </Grid> 179

180 WP7 개발시작 (WPE05) -CS(MainPage.xaml.cs) 에서코드생성 using Microsoft.Devices.Radio; public MainPage() InitializeComponent(); string or = this.orientation.tostring(); MessageBox.Show(or); RadioPowerMode rpm = FMRadio.Instance.PowerMode; RadioRegion rrg = FMRadio.Instance.CurrentRegion; double ss = FMRadio.Instance.SignalStrength; // 신호강도 double fq = FMRadio.Instance.Frequency; // 주파수 switch(rpm) case RadioPowerMode.On: textblock1.text = FM라디오전원켜짐 (on) ; break; case RadioPowerMode.Off: textblock1.text = FM라디오전원꺼짐 (off) ; // 계속 break; 180

181 WP7 개발시작 (WPE05) -CS(MainPage.xaml.cs) 에서코드생성 public MainPage() // 계속 switch(rrg) case RadioRegion.Europe: textblock2.text = 유럽 ; break; case RadioRegion.Japan: textblock2.text= 일본 ;break; case RadionRegion.United States: textblock2.text= 미국 ;break; String strtext= ; strtext= 신호강도 : + ss.tostring( ####.## ) + \n + 주파수 : + fq.tostring( ####.## ); textblock3.text = strtext; 181

182 WP7 개발시작 (WPE06) 개발환경구축예제 - c:\wp7\wpe06 - Compass( 나침반 ) -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <TextBlock Name= textblock1 Text= TextBlock /> <TextBlock Name= textblock2 Text= TextBlock /> <TextBlock Name= textblock3 Text= TextBlock /> </StackPanel> </Grid> 182

183 WP7 개발시작 (WPE07) 개발환경구축예제 - c:\wp7\wpe07 - Gyroscope -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <TextBlock Name= textblock1 Text= TextBlock /> <TextBlock Name= textblock2 Text= TextBlock /> <TextBlock Name= textblock3 Text= TextBlock /> </StackPanel> </Grid> 183

184 WP7 개발시작 (WPE08) 개발환경구축예제 - c:\wp7\wpe08 - Motion Sensor -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <TextBlock Name= textblock1 Text= TextBlock /> <TextBlock Name= textblock2 Text= TextBlock /> <TextBlock Name= textblock3 Text= TextBlock /> </StackPanel> </Grid> 184

185 WP7 개발시작 (WPF01) 개발환경구축예제 - c:\wp7\wpf01 - 카메라예제 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <Button Name= button1 Content= 사진촬영 Margin= 0,0,0,513 Click= button1_click /> <Image Name= image1 Margin= 12,94,0,0 Width= 450 Height= 500 /> </Grid> 185

186 WP7 개발시작 (WPF01) -CS(MainPage.xaml.cs) 에서코드생성 using Microsoft.Phone.Tasks; using System.IO; using System.Windows.Media.Imaging; private void button1_click(object sender, RoutedEventArgs e) CameraCaptureTask cc = new CameraCaptureTask(); cc.completed += new EventHandler<PhotoResult>(cc_Completed); cc.show(); void cc_completed(object sender, PhotoResult e) String strsrc = e.originalfilename; MessageBox.Show(strSrc, 파일명, MessageBoxButton.OK); BitmapImage bmpimage = new BitmapImage(); bmpimage.setsource(e.chosenphoto); image1.source = bmpimage; 186

187 WP7 개발시작 (WPF02) 개발환경구축예제 - c:\wp7\wpf02 - Chooser -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <Button Name="button1" Content="PhoneNumberChooser" Click="button1_Click"/> <Button Name="button2 Content=" AddressChooserTask" Click="button2_Click"/> <Button Name="button3" Content="PhotoChooserTask" Click="button3_Click"/> <Button Name="button4" Content="Save AddressTask" Click="button4_Click"/> <Button Name="button5" Content="SavePhoneNumberTask" Click="button5_Click"/> </StackPanel> </Grid> 187

188 WP7 개발시작 (WPF02) -CS(MainPage.xaml.cs) 에서코드생성 using Microsoft.Phone.Tasks; private void button1_click(object sender, RoutedEventArgs e) //PhoneNumberChooserTask : 전화번호선택을편리하게도와주는기능 PhoneNumberChooserTask pnct = new PhoneNumberChooserTask(); pnct.completed += new EventHandler<PhoneNumberResult>(pnct_Completed); pnct.show(); void pnct_completed(object sender, PhoneNumberResult e) MessageBox.Show(e.DisplayName + : + e.phonenumber); 188

189 WP7 개발시작 (WPF02) -CS(MainPage.xaml.cs) 에서코드생성 private void button2_click(object sender, RoutedEventArgs e) // AddressChooserTask : 이메일주소를편리하게가져오도록도와주는기능 // 메일주소가 1 개이상일때는이메일선택창이보조로띄워진다. AddressChooserTask eact = new AddressChooserTask(); eact.completed+=new EventHandler< Result>(eact_Completed); eact.show(); void eact_completed(object sender, Result e) MessageBox.Show(e.DisplayName + : + e. ); 189

190 WP7 개발시작 (WPF02) -CS(MainPage.xaml.cs) 에서코드생성 private void button3_click(object sender, RoutedEventArgs e) //PhotoChooserTask : 사진을선택해서가져오기편리하게도와주는기능 PhotoChooserTask pct = new PhotoChooserTask(); pct.completed += new EventHandler<PhotoResult>(pct_Completed); pct.show(); void pct_completed(object sender, PhotoResult e) MessageBox.Show(e.OriginalFileName); 190

191 WP7 개발시작 (WPF02) -CS(MainPage.xaml.cs) 에서코드생성 private void button4_click(object sender, RoutedEventArgs e) //Save AddressTask : 이메일주소를저장 Save AddressTask seat = new Save AddressTask(); seat. = kmjrabbit@live.com ; seat.show(); private void button5_click(object sender, RoutedEventArgs e) //SavePhoneNumberTask : 전화번호를저장 SavePhoneNumberTask spnt = new SavePhoneNumberTask(); spnt.phonenumber = ; spnt.show(); 191

192 WP7 개발시작 (WPF03) 개발환경구축예제 - c:\wp7\wpf03 - Task 예제 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <Button Name= button1 Content= SearchTask Click= button1_click /> <Button Name= button2 Content= WebBrowserTask Click= button2_click /> <Button Name= button3 Content= PhoneCallTask Click= button3_click /> <Button Name= button4 Content= SMSComposeTask Click= button4_click /> </StackPanel> </Grid> 192

193 WP7 개발시작 (WPF03) -CS(MainPage.xaml.cs) 에서코드생성 using Microsoft.Phone.Tasks; private void button1_click(object sender, RoutedEventArgs e) SearchTask st = new SearchTask(); st.searchquery = 대구 ; st.show(); private void button2_click(object sender, RoutedEventArgs e) WebBrowser wbt = new WebBrowserTask(); string struri = if(!struri.startswith( )) struri = + struri; wbt.uri = new Uri(strUri, UriKind.Absolute); wbt.show(); 193

194 WP7 개발시작 (WPF03) -CS(MainPage.xaml.cs) 에서코드생성 private void button3_click(object sender, RoutedEventArgs e) PhoneCallTask pct = new PhoneCallTask(); pct.phonenumber = ; pct.show(); private void button4_click(object sender, RoutedEventArgs e) SmsComposeTask sct = new SmsComposeTask(); sct.to= ; sct.show(); 194

195 WP7 개발시작 (WPG04) 개발환경구축예제 - c:\wp7\wpg04 - 동영상 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <Button Content= Button Name= button1 Click= button1_click /> <MediaElement Name= mediaelement1 Width= 417 Height= 507 /> </StackPanel> </Grid> 195

196 WP7 개발시작 (WPG04) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) mediaelement1.autoplay = true; mediaelement1.source = new Uri( silverlight.wmv, UriKind.Relative); mediaelement1.position = TimeSpan.FromMilliseconds(0); mediaelement1.volume = 1; mediaelement1.visibility = Visibility.Visible; mediaelement1.play(); 196

197 WP7 개발시작 (WPG05) 개발환경구축예제 - c:\wp7\wpg05 - 음악 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <Button Content= MP3 재생시작 Height= 72 Name= button1 Click= button1_click /> <Button Content= MP3 재생중지 Height= 72 Name= button2 Click= button2_click /> <Button Content= 볼륨올리기 Height= 72 Name= button3 Click= button3_click /> <Button Content= 볼륨내리기 Height= 72 Name= button4 Click= button4_click /> </StackPanel> </Grid> 197

198 WP7 개발시작 (WPG05) -CS(MainPage.xaml.cs) 에서코드생성 using System.Windows.Media.Imaging; // 클래스변수 MediaElement me = null; Image im = null; private void button2_click(object sender, RoutedEventArgs e) if (me == null) return; me.stop(); im.visibility = Visibility.Collapsed; 198

199 WP7 개발시작 (WPG05) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) if(me==null) me = new MediaElement(); me.source = new Uri( Fame.mp3, UriKind.Relative); ContentPanel.Children.Add(me); im = new Image(); im.source = new BitmapImage( new Uri( Irene cara.jpg, UriKind.Relative)); im.height=300; im.width=300; im.verticalalignment = VerticalAlignment.Bottom ContentPanel.Children.Add(im); me.volume = 1; me.play(); im.visibility = Visibility.Visible; 199

200 WP7 개발시작 (WPG05) -CS(MainPage.xaml.cs) 에서코드생성 private void button3_click(object sender, RoutedEventArgs e) if (me == null) return; double dbvol = me.volume; dbvol += 0.1; if (dbvol >= 1) dbvol = 1; me.volume = dbvol; private void button4_click(object sender, RoutedEventArgs e) if (me == null) return; double dbvol = me.volume; dbvol -= 0.1; if (dbvol <= 0) dbvol = 0; me.volume = dbvol; 200

201 WP7 개발시작 (WPH01Ext01) 개발환경구축예제 - c:\wp7\wph01ext01 - HttpWebRequest, HttpWebResponse - WebRequest,WebResponse 클래스의 HTTP 관련구현을제공 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <Button Content= Button Name= button1 Click= button1_click Width= 400 Height= 100 VerticalAlignment= Top /> </StackPanel> </Grid> 201

202 WP7 개발시작 (WPH01Ext01) -CS(MainPage.xaml.cs) 에서코드생성 202

203 WP7 개발시작 (WPH01Ext01) -CS(MainPage.xaml.cs) 에서코드생성 203

204 WP7 개발시작 (WPH01Ext02) 개발환경구축예제 - c:\wp7\wph01ext02 - HttpWebRequest, HttpWebResponse - WebRequest,WebResponse 클래스의 HTTP 관련구현을제공 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <Button Content= Button Name= button1 Click= button1_click Width= 400 Height= 100 VerticalAlignment= Top /> </StackPanel> </Grid> 204

205 WP7 개발시작 (WPH01Ext02) -CS(MainPage.xaml.cs) 에서코드생성 205

206 WP7 개발시작 (WPH01Ext02) -CS(MainPage.xaml.cs) 에서코드생성 206

207 WP7 개발시작 (WPH01) 개발환경구축예제 - c:\wp7\wph01 - HttpWebRequest, HttpWebResponse 응용 - WebRequest,WebResponse 클래스의 HTTP 관련구현을제공 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <Button Content= Button Name= button1 Click= button1_click /> <phone:webbrowser Name= webbrowser1 Width= 450 Height= 450 /> </StackPanel> </Grid> 207

208 WP7 개발시작 (WPH01) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) String strurl = ; HttpWebRequest request; request = HttpWebRequest.Create(strUrl) as HttpWebRequest; request.begingetresponse( new AsyncCallback(GetResponse),request ); 208

209 WP7 개발시작 (WPH01) -CS(MainPage.xaml.cs) 에서코드생성 209

210 WP7 개발시작 (WPH02Ext01) 개발환경구축예제 - c:\wp7\wph02ext01 - WebClient 클래스이용 - uri 로식별되는리소스와데이터를주고받기위한메서드를제공 -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <Button Content= Button Name= button1 Click= button1_click /> <ScrollViewer Name= scrollviewer1 Width= 430 Height= 500 > <TextBlock Name= textblock1 TextWrapping= Wrap /> </ScrollViewer> </StackPanel> </Grid> 210

211 WP7 개발시작 (WPH02Ext01) -CS(MainPage.xaml.cs) 에서코드생성 private void button1_click(object sender, RoutedEventArgs e) String strurl = ; //WebClient 클래스 : uri 로식별되는리소스와데이터를주고받음 WebClient wc = new WebClient(); // 읽기완료시처리할이벤트핸들러작성 wc.openreadcompleted +=new OpenReadCompletedEventHandler(ReadCompleted); // 지정된리소스가포함된읽을수있는스트림을오픈 wc.openreadasync(new Uri(strUri, UriKind.Absolute)); 211

212 WP7 개발시작 (WPH02Ext01) -CS(MainPage.xaml.cs) 에서코드생성 void ReadCompleted(object sender, OpenReadCompletedEventArgs e) if(e.result!=null &&e.result.length!=0) using(stream stream = e.result) using(streamreader reader = new StreamReader(stream)) textblock1.text = reader.readtoend(); 212

213 WP7 개발시작 (WPH02) 개발환경구축예제 - c:\wp7\wph02 - WebClient 클래스이용, RSS -XAML(MainPage.xaml) 에서코드생성 <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0 > <StackPanel> <TextBox Name= textbox1 /> <Button Name= button1 Content= RSS Click= button1_click /> <ScrollViewer Name= scrollviewer1 Width= 430 Height= 500 > <TextBlock Name= textblock1 TextWrapping= Wrap /> </ScrollViewer> </StackPanel> </Grid> 213

214 WP7 개발시작 (WPH02) -CS(MainPage.xaml.cs) 에서코드생성 public MainPage() InitializeComponent(); textbox1.text = ; private void button1_click(object sender, RoutedEventArgs e) String strurl = textbox1.text; //WebClient 클래스 : uri 로식별되는리소스와데이터를주고받음 WebClient wc = new WebClient(); // 읽기완료시처리할이벤트핸들러작성 wc.openreadcompleted +=new OpenReadCompletedEventHandler(wc_OpenReadCompleted); // 지정된리소스가포함된읽을수있는스트림을오픈 wc.openreadasync(new Uri(strUri, UriKind.Absolute)); 214

215 WP7 개발시작 (WPH02) -CS(MainPage.xaml.cs) 에서코드생성 215

216 WP7 개발시작 (WPH02) -RSS 의구조 216

217 WP7 개발시작 (WPH02) -CS(MainPage.xaml.cs) 에서코드생성 217

218 WP7 개발시작 (WPH02) -CS(MainPage.xaml.cs) 에서코드생성 218

219 WP7 개발시작 (WPH10Ext01) 개발환경구축예제 - c:\wp7\wph10ext01 - WCF 기본 -Visual Studio 2010 에서 WCF 프로젝트생성새프로젝트 > Visual C# > WCF > WCF 서비스라이브러리 (Microsoft Visual Studio 2010 Express for Windows Phone 은 windows phone 프로젝트외에는지원안함 ) - IService1.cs 파일구조살펴보기 [ServiceContract] [OperationContract] [OperationContract] [DataContract] [DataMember] [DataMember].. 219

220 WP7 개발시작 (WPH10Ext01) -IService1.cs 220

221 WP7 개발시작 (WPH10Ext01) -Service1.cs 221

222 WP7 개발시작 (WPH10Ext01) -App.config 의 WCF 구성편집솔루션탐색기의 App.config 파일의우클릭 WCF 구성편집 > 서비스 > 끝점 > 빈이름 > Binding 을 wshttpbinding 에서 basichttpbinding 으로반드시변경 : 저장후실행시 WCF 테스트클라이언트가실행됨 : 가상서비스가호스팅됨. 222

223 WP7 개발시작 (WPH10Ext01Client) 개발환경구축예제 - c:\wp7\wph10ext01client - WCF 기본 -Windows Phone 7 프로젝트생성후 Add Service Reference 로조금전생성한 WCF 의메타주소를붙여 service 를추가한다. - XAML(MainPage.xaml.cs) 코드작성 <StackPanel> <TextBox Name= Textbox1 /> <Button Name= button1 Content= WCF Click= button1_click /> <ListBox Name= ListBox1 Height= 450 > <ListBox.ItemTemplate> <DataTemplat> 내형식맞춰줌.( 뒷부분에따로 ) </ListBox.ItemTemplate> </ListBox> </StackPanel> 223

224 WP7 개발시작 (WPH10Ext01Client) DataTemplate 내부분 <StackPanel> <TextBlock Name="textBlock1" Text="Binding ID" FontWeight="Black" Foreground="AliceBlue"/> <TextBlock Name="textBlock2" Text="Binding Name" FontStyle="Italic"/> <StackPanel Orientation="Horizontal"> <TextBlock Text=" 국어 "/> <TextBlock Name="textBlock3" Text="Binding Kor"/> <TextBlock Text=" 영어 "/> <TextBlock Name="textBlock4" Text="Binding Eng"/> <TextBlock Text=" 수학 "/> <TextBlock Name="textBlock5" Text="Binding Math"/> </StackPanel> </StackPanel> 224

225 WP7 개발시작 (WPH10Ext01Client) -cs(mainpage.xaml.cs) 코드작성 private void button1_click(object sender, RoutedEventArgs e) MyService.Service1Client client = new MyService.Service1Client(); client.getdatacompleted + new EventHandler<MyService.GetDataCompletedEventArgs> (client_getdatacompleted); client.getdataasync(textbox1.text); void client_getdatacompleted(object sender, MyService.GetData.) ListBox1.ItemsSource = e.result; 225

226 WP7 개발시작 (WCFService) 개발환경구축예제 - c:\wp7\wcfservice - WCF 기본 -Windows Phone 7 프로젝트생성후 Add Service Reference 로조금전생성한 WCF 의메타주소를붙여 service 를추가한다. - XAML(MainPage.xaml.cs) 코드작성 <StackPanel> <TextBox Name= Textbox1 /> <Button Name= button1 Content= WCF Click= button1_click /> <ListBox Name= ListBox1 Height= 450 > <ListBox.ItemTemplate> <DataTemplat> 내형식맞춰줌.( 뒷부분에따로 ) </ListBox.ItemTemplate> </ListBox> </StackPanel> 226

227 감사합니다. 김명정 Microsoft BizSpark Network Partner 227

Title of Presentation

Title of Presentation WINDOWS PHONE 7 동의대앱창작터윈도우즈폰 7 기본개발과정 2011.07.11 07.15[2 주차 ] 김명정 Microsoft BizSpark Network Partner kmjrabbit@live.com 윈도우폰기본과정 2 주차 1 읷 1 주차정리추가예제, Windows Phone 7 SDK v7.1 beta2 설치 Location Service

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

임베디드 시스템 소프트웨어

임베디드 시스템 소프트웨어 6 주차강대기 컨트롟 지원되지않는실버라이트컨트롟 레이아웃관렦컨트롟 기타기본컨트롟 이벤트 컨트롟 지원되지않는실버라이트컨트롟 레이아웃관렦컨트롟 StackPanel 컨트롟, Grid 컨트롟, Canvas 컨트롟, Panel 컨트롟, ScrollViewer 컨트롟 기타기본컨트롟 TextBox/PasswordBox 컨트롟, Button/ToggleButton (PushButton)

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

Microsoft PowerPoint - 권장 사양

Microsoft PowerPoint - 권장 사양 Autodesk 제품컴퓨터사양 PRONETSOFT.CO 박경현 1 AutoCAD 시스템사양 시스템요구사양 32 비트 AutoCAD 2009 를위한시스템요구사항 Intel Pentium 4 프로세서 2.2GHz 이상, 또는 Intel 또는 AMD 듀얼 코어프로세서 16GH 1.6GHz 이상 Microsoft Windows Vista, Windows XP Home

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

4S 1차년도 평가 발표자료

4S 1차년도 평가 발표자료 모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components

More information

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx) w w w. g b t e c. c o. k r 6 안드로이드 App 적용하기 115 1. 안드로이드개요 모바일 OS 의종류 - 스마트폰 : 스마트폰운영체제탑재 애플의 IOS(iPhone OS) - 아이폰, 아이패드, 아이팟터치 구글의안드로이드 - Nexus, 갤럭시 A, S, 모토로이, 시리우스,... MS 의윈도우모바일 ( 윈도우폰 7) - 옴니아 2,

More information

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API WAC 2.0 & Hybrid Web App 권정혁 ( @xguru ) 1 HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API Mobile Web App needs Device APIs Camera Filesystem Acclerometer Web Browser Contacts Messaging

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A

..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A ..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * Amazon Web Services, Inc.. ID Microsoft Office 365*

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

학습목표 텍스트파일을다룰수있다. 스트림읽기, 쓰기를안다. 2

학습목표 텍스트파일을다룰수있다. 스트림읽기, 쓰기를안다. 2 학습목표 텍스트파일을다룰수있다. 스트림읽기, 쓰기를안다. 2 8.1 텍스트파일다루기 8.2 스트림읽기, 쓰기 3 텍스트파일 문자, 숫자, 단어들이하나이상의줄로구성 파일확장명 :.txt,.ini,.log, OpenFileDialog 컨트롤 : 파일의위치를사용자가쉽게선택가능 Filter 속성 : 파일의형식선택가능 ShowDialog 메서드 : 열기대화상자 FileName

More information

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

목차 제 1 장 inexio Touch Driver소개... 3 1.1 소개 및 주요 기능... 3 1.2 제품사양... 4 제 2 장 설치 및 실행... 5 2.1 설치 시 주의사항... 5 2.2 설치 권고 사양... 5 2.3 프로그램 설치... 6 2.4 하드웨

목차 제 1 장 inexio Touch Driver소개... 3 1.1 소개 및 주요 기능... 3 1.2 제품사양... 4 제 2 장 설치 및 실행... 5 2.1 설치 시 주의사항... 5 2.2 설치 권고 사양... 5 2.3 프로그램 설치... 6 2.4 하드웨 최종 수정일: 2010.01.15 inexio 적외선 터치스크린 사용 설명서 [Notes] 본 매뉴얼의 정보는 예고 없이 변경될 수 있으며 사용된 이미지가 실제와 다를 수 있습니다. 1 목차 제 1 장 inexio Touch Driver소개... 3 1.1 소개 및 주요 기능... 3 1.2 제품사양... 4 제 2 장 설치 및 실행... 5 2.1 설치 시

More information

슬라이드 1

슬라이드 1 사용 전에 사용자 주의 사항을 반드시 읽고 정확하게 지켜주시기 바랍니다. 사용설명서의 구성품 형상과 색상은 실제와 다를 수 있습니다. 사용설명서의 내용은 제품의 소프트웨어 버전이나 통신 사업자의 사정에 따라 다를 수 있습니다. 본 사용설명서는 저작권법에 의해 보호를 받고 있습니다. 본 사용설명서는 주식회사 블루버드소프트에서 제작한 것으로 편집 오류, 정보 누락

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

LG-LU6200_ICS_UG_V1.0_ indd

LG-LU6200_ICS_UG_V1.0_ indd 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

슬라이드 1

슬라이드 1 강력한성능! 인터넷 / 업무용데스크탑 PC NX-H Series Desktop PC NX1- H700/H800/H900 NX2- H700/H800/H900 NX1-H Series 사양 Series 제품설명 ( 모델명 ) NX1-H Series, 슬림타입 기본형모델중보급형모델고급형모델 NX1-H800:112SN NX1-H800:324SN NX1-H800:534MS

More information

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 UI 이벤트 Event listener Touch mode Focus handling Notification Basic toast notification Customized toast notification Status bar notification 2 사용자가인터랙션하는특정 View

More information

2010 년 10 월넷째주 ( ) 1. IT와타산업융합위한민관노력강화 2. 한국, IT산업분야국제표준제안건수세계 1위달성 3. 한국, 3년연속세계브로드밴드경쟁력 1위기록 4. 삼성SDS, 2011년 IT메가트렌드선정 'Smart' 와 'Social' 이핵심

2010 년 10 월넷째주 ( ) 1. IT와타산업융합위한민관노력강화 2. 한국, IT산업분야국제표준제안건수세계 1위달성 3. 한국, 3년연속세계브로드밴드경쟁력 1위기록 4. 삼성SDS, 2011년 IT메가트렌드선정 'Smart' 와 'Social' 이핵심 2010 년 10 월넷째주 (2010-40) 1. IT와타산업융합위한민관노력강화 2. 한국, IT산업분야국제표준제안건수세계 1위달성 3. 한국, 3년연속세계브로드밴드경쟁력 1위기록 4. 삼성SDS, 2011년 IT메가트렌드선정 'Smart' 와 'Social' 이핵심 5. 세계 OLED 시장, 3분기매출 4억달러돌파 AM OLED가성장주도 6. 태블릿PC,

More information

<4D6963726F736F667420576F7264202D205B4354BDC9C3FEB8AEC6F7C6AE5D3131C8A35FC5ACB6F3BFECB5E520C4C4C7BBC6C320B1E2BCFA20B5BFC7E2>

<4D6963726F736F667420576F7264202D205B4354BDC9C3FEB8AEC6F7C6AE5D3131C8A35FC5ACB6F3BFECB5E520C4C4C7BBC6C320B1E2BCFA20B5BFC7E2> 목차(Table of Content) 1. 클라우드 컴퓨팅 서비스 개요... 2 1.1 클라우드 컴퓨팅의 정의... 2 1.2 미래 핵심 IT 서비스로 주목받는 클라우드 컴퓨팅... 3 (1) 기업 내 협업 환경 구축 및 비용 절감 기대... 3 (2) N-스크린 구현에 따른 클라우드 컴퓨팅 기술 기대 증폭... 4 1.3 퍼스널 클라우드와 미디어 콘텐츠 서비스의

More information

고객 카드 1588-7278

고객 카드 1588-7278 고객 카드 1588-7278 i 안전을 위한 경고사항 안전을 위한 주의사항 i 헤드유닛 DISP RADIO MEDIA PHONE SEEK TRACK 헤드유닛 FOLDER MUTE SCAN SETUP 스티어링 휠 리모트 컨트롤 + - MODE 기본모드 화면 Radio 모드 변경 RADIO 라디오 주파수 검색하기 SEEK TRACK 라디오 모드 사용하기 저장방송

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

제 출 문 환경부장관 귀하 본 보고서를 습마트기기 활용 환경지킴이 및 교육 통합 서비스 개 발 과제의 최종보고서로 제출합니다. 주관연구기관 : 주관연구기관장 : 2015년 10월 주식회사 덕키즈 김 형 준 (주관)연구책임자 : 문종욱 (주관)참여연구원 : 김형준, 문병

제 출 문 환경부장관 귀하 본 보고서를 습마트기기 활용 환경지킴이 및 교육 통합 서비스 개 발 과제의 최종보고서로 제출합니다. 주관연구기관 : 주관연구기관장 : 2015년 10월 주식회사 덕키즈 김 형 준 (주관)연구책임자 : 문종욱 (주관)참여연구원 : 김형준, 문병 보안과제[ ], 일반과제[ ] 최종보고서 그린 생산소비형태 촉진 기술 Technologies for the facilitation of the green production & a type of consumption 스마트기기 활용 환경지킴이 및 교육통합 서비스 개발 Development for Web/App for environmental protection

More information

임베디드 시스템 소프트웨어

임베디드 시스템 소프트웨어 9 주차강대기 내비게이션 애플리케이션바 내비게이션 내비게이션을이용하는애플리케이션맊들기 NavigationService 클래스홗용하기 URI 쿼리정보홗용하기 Back 버튺핸들링 애플리케이션실행모델 라이프사이클 Tombstone 현상 프로젝트생성및화면디자인 이벤트핸들러구성 화면에대한 Tombstone 현상 추가적인화면디자인및이벤트핸들러구성 코드에대한 Tombstone

More information

노트북 IT / 모바일 데스크탑 34 올인원PC 35 PC 소프트웨어 포터블SSD / SSD / 메모리카드 36 태블릿 37 휴대폰 39 PC 솔루션 IT / 모바일 IT / 모바일 노트북 29 삼성전자는 Windows 를 권장합니다. 삼성전자만의 편리하고 다양한 소프트웨어를 통해 초보자도 보다 쉽고 빠르게 이용 가능합니다. Easy Settings 삼성 패스트

More information

K_R9000PRO_101.pdf

K_R9000PRO_101.pdf GV-R9000 PRO Radeon 9000 PRO Upgrade your Life REV 101 GV-R9000 PRO - 2-2002 11 1 12 ATi Radeon 9000 PRO GPU 64MB DDR SDRAM 275MHz DirectX 81 SMARTSHADER ATI SMOOTHVISION 3D HYDRAVISION ATI CATLYST DVI-I

More information

임베디드 시스템 소프트웨어

임베디드 시스템 소프트웨어 5 주강대기 실버라이트와윈도우폰 7 도형과브러쉬 아이솔레이티드스토리지 실버라이트와윈도우폰 7 Extensible Application Markup Language (XAML) Expression Blend for Windows Phone( 또는익스프레션스튜디오 4 얼티밋 ) 코드비하읶드 Visual Studio 2010 Express for Windows Phone

More information

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E > 6. ASP.NET ASP.NET 소개 ASP.NET 페이지및응용프로그램구조 Server Controls 데이터베이스와연동 8 장. 데이터베이스응용개발 (Page 20) 6.1 ASP.NET 소개 ASP.NET 동적웹응용프로그램을개발하기위한 MS 의웹기술 현재 ASP.NET 4.5까지출시.Net Framework 4.5 에포함 Visual Studio 2012

More information

untitled

untitled A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Getting Started (ver 5.1) 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Getting

More information

MVVM 패턴의 이해

MVVM 패턴의 이해 Seo Hero 요약 joshua227.tistory. 2014 년 5 월 13 일 이문서는 WPF 어플리케이션개발에필요한 MVVM 패턴에대한내용을담고있다. 1. Model-View-ViewModel 1.1 기본개념 MVVM 모델은 MVC(Model-View-Contorl) 패턴에서출발했다. MVC 패턴은전체 project 를 model, view 로나누어

More information

Windows Live Hotmail Custom Domains Korea

Windows Live Hotmail Custom Domains Korea 매쉬업코리아2008 컨퍼런스 Microsoft Windows Live Service Open API 한국 마이크로소프트 개발자 플랫폼 사업 본부 / 차세대 웹 팀 김대우 (http://www.uxkorea.net 준서아빠 블로그) Agenda Microsoft의 매쉬업코리아2008 특전 Windows Live Service 소개 Windows Live Service

More information

untitled

untitled A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Designer Getting Started 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Designer

More information

Visual Studio online Limited preview 간략하게살펴보기

Visual Studio online Limited preview 간략하게살펴보기 11월의주제 Visual Studio 2013 제대로파헤쳐보기! Visual Studio online Limited preview 간략하게살펴보기 ALM, 언제어디서나 연결된 IDE Theme와 Visual Design 편집기의강화된생산성기능들성능최적화및디버깅개선 Microsoft 계정으로 IDE에서로그인가능다양한머신사이에서개발환경유지다양한디바이스에걸쳐설정을동기화개선된

More information

B _00_Ko_p1-p51.indd

B _00_Ko_p1-p51.indd KOS-V000 B64-797-00/00 (MV) KOS-V000 설명서를 보는 방법 이 설명서에서는 삽입된 그림을 통해 작동 방법을 설명합니다. 이 설명서에 나타낸 화면과 패널은 작동 방법을 자세히 설명하는 데 이용되는 예입니다. 따라서 실제 화면이나 패널과 다르거나 일부 디 스플레이 패턴이 다를 수도 있습니다. 찾기 모드 방송국 선택 설정. TUNER

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

3ÆÄÆ®-14

3ÆÄÆ®-14 chapter 14 HTTP >>> 535 Part 3 _ 1 L i Sting using System; using System.Net; using System.Text; class DownloadDataTest public static void Main (string[] argv) WebClient wc = new WebClient(); byte[] response

More information

스마트월드캠퍼스 교육교제

스마트월드캠퍼스 교육교제 LG Smart TV SDK 활용법 Contents 1. Using LG Smart TV SDK 2. Testing & Publishing 3. UX Guideline Using LG Smart TV SDK LG Smart TV SDK 구성 Open API IDE* App 구현을 위한 LG Smart TV 인터페이스 제공 Media playback, TV 제어,

More information

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

chapter4

chapter4 Basic Netw rk 1. ก ก ก 2. 3. ก ก 4. ก 2 1. 2. 3. 4. ก 5. ก 6. ก ก 7. ก 3 ก ก ก ก (Mainframe) ก ก ก ก (Terminal) ก ก ก ก ก ก ก ก 4 ก (Dumb Terminal) ก ก ก ก Mainframe ก CPU ก ก ก ก 5 ก ก ก ก ก ก ก ก ก ก

More information

untitled

untitled A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Designer Getting Started 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Designer

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

MAX+plus II Getting Started - 무작정따라하기

MAX+plus II Getting Started - 무작정따라하기 무작정 따라하기 2001 10 4 / Version 20-2 0 MAX+plus II Digital, Schematic Capture MAX+plus II, IC, CPLD FPGA (Logic) ALTERA PLD FLEX10K Series EPF10K10QC208-4 MAX+plus II Project, Schematic, Design Compilation,

More information

AGENDA 01 02 03 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

AGENDA 01 02 03 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례 모바일 클라우드 서비스 융합사례와 시장 전망 및 신 사업전략 2011. 10 AGENDA 01 02 03 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례 AGENDA 01. 모바일 산업의 환경 변화 가치 사슬의 분화/결합 모바일 업계에서도 PC 산업과 유사한 모듈화/분업화 진행 PC 산업 IBM à WinTel 시대 à

More information

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E. ASF(Atmel Software Framework) 환경을이용한프로그램개발 1. New Project Template 만들기 A. STK600 Board Template를이용한 Project 만들기 i. New Project -> Installed(C/C++) -> GCC C ASF Board Project를선택하고, 1. Name: 창에 Project Name(

More information

<4D6963726F736F667420576F7264202D20B0B6B3EBC6AE33C3E2BDC3C8C45FC3D6C1BE5F2D2E646F63>

<4D6963726F736F667420576F7264202D20B0B6B3EBC6AE33C3E2BDC3C8C45FC3D6C1BE5F2D2E646F63> 2013. 09. 09 [유진 더리치 스몰캡] 이슈 분석 갤럭시노트3, 갤럭시기어 출시 수혜주 스몰캡 팀장 박종선 Tel. 368-6076 jongsun.park@eugenefn.com 스몰캡 담당 윤혁진 Tel. 368-6499 hjyoon@eugenefn.com Summary < Samsung Unpacked 2013 Episode 2> 행사 개최 지난

More information

슬라이드 1

슬라이드 1 모바일소프트웨어프로젝트 지도 API 1 조 20070216 김성수 20070383 김혜준 20070965 이윤상 20071335 최진 1 매시업? 공개 API? 2 매시업 웹으로제공하고있는정보와서비스를융합하여새로운소프트웨어나서비스, 데이터베이스등을만드는것 < 최초의매시업 > 3 공개 API 누구나사용할수있도록공개된 API 지도, 검색등다양한서비스들에서제공 대표적인예

More information

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3. Deep-Dive into Syrup Store Syrup Store I What is Syrup Store? Open API Syrup Order II Syrup Store Component III Open API I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3. 가맹점이 특정 고객을 Targeting하여

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 유니티와아두이노를활용한 VR 컨트롤러개발 Part 06 헬로앱스코딩교육 김영준 공학박사, 목원대학교겸임교수前 Microsoft 수석연구원 splduino@gmail.com http://www.helloapps.co.kr 키보드로물체생성하기 키보드로물체생성하기 public GameObject CubeObject; public GameObject MyCamera;

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

목 차 1. 안전을 위한 주의사항 2. 사 전에 2-1. 제품 특징 2-2. 제품 구성 2-3. 각 부분의 명칭 2 4 5 6 7 3-11. 전 뷰어 / 뷰어 설정 3-12. 전 뷰어 / 환경 설정 3-13. 환경설정 본 값 3-14. 재생방법 (블랙박스) 3-15.

목 차 1. 안전을 위한 주의사항 2. 사 전에 2-1. 제품 특징 2-2. 제품 구성 2-3. 각 부분의 명칭 2 4 5 6 7 3-11. 전 뷰어 / 뷰어 설정 3-12. 전 뷰어 / 환경 설정 3-13. 환경설정 본 값 3-14. 재생방법 (블랙박스) 3-15. 사설명서 http://www.innopix.kr 목 차 1. 안전을 위한 주의사항 2. 사 전에 2-1. 제품 특징 2-2. 제품 구성 2-3. 각 부분의 명칭 2 4 5 6 7 3-11. 전 뷰어 / 뷰어 설정 3-12. 전 뷰어 / 환경 설정 3-13. 환경설정 본 값 3-14. 재생방법 (블랙박스) 3-15. 재생방법 (일반 동영상 플레이어) 3-16.

More information

Microsoft PowerPoint - Windows CE Programming_2008 [호환 모드]

Microsoft PowerPoint - Windows CE Programming_2008 [호환 모드] Programming 고재관 Microsoft Mobile Device MVP Speaker 고재관 myaustin@korea.com Microsoft MVP 2006-2008 2008 Mobile Devices 분야 500 시간세미나 / 강의 실무경력 15 년메신저 Portable Device since 1995 집필도서 커뮤니티 http://myaustin.egloos.com

More information

CD-RW_Advanced.PDF

CD-RW_Advanced.PDF HP CD-Writer Program User Guide - - Ver. 2.0 HP CD-RW Adaptec Easy CD Creator Copier, Direct CD. HP CD-RW,. Easy CD Creator 3.5C, Direct CD 3.0., HP. HP CD-RW TEAM ( 02-3270-0803 ) < > 1. CD...3 CD...5

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

안전을 위한 주의사항 제품을 올바르게 사용하여 위험이나 재산상의 피해를 미리 막기 위한 내용이므로 반드시 지켜 주시기 바랍니다. 2 경고 설치 관련 지시사항을 위반했을 때 심각한 상해가 발생하거나 사망에 이를 가능성이 있는 경우 설치하기 전에 반드시 본 기기의 전원을

안전을 위한 주의사항 제품을 올바르게 사용하여 위험이나 재산상의 피해를 미리 막기 위한 내용이므로 반드시 지켜 주시기 바랍니다. 2 경고 설치 관련 지시사항을 위반했을 때 심각한 상해가 발생하거나 사망에 이를 가능성이 있는 경우 설치하기 전에 반드시 본 기기의 전원을 Digital Video Recorder 간편설명서 XD3316 안전을 위한 주의사항 제품을 올바르게 사용하여 위험이나 재산상의 피해를 미리 막기 위한 내용이므로 반드시 지켜 주시기 바랍니다. 2 경고 설치 관련 지시사항을 위반했을 때 심각한 상해가 발생하거나 사망에 이를 가능성이 있는 경우 설치하기 전에 반드시 본 기기의 전원을 차단하고, 전원 플러그를 동시에

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

untitled

untitled A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Getting Started 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Getting Started 'OZ

More information

슬라이드 1

슬라이드 1 삼성전자 VD 사업부유영욱선임 목차 Samsung Smart TV Smart TV App Samsung Smart TV SDK Hello TV App 만들기 Key Event 처리 Q & A Samsung Smart TV Samsung Smart TV History InfoLive (2007) Power InfoLink (2008) Internet@TV (2009)

More information

임베디드 시스템 소프트웨어

임베디드 시스템 소프트웨어 10 주차강대기 위치서비스를이용하는애플리케이션만들기 가속도센서 웹브라우저 위치서비스를이용하는애플리케이션만들기 프로젝트생성및화면디자인 위치서비스이용을위한환경설정 위치서비스이용을위한변수및이벤트핸들러추가 StatusChanged 이벤트핸들러구현 PositionChanged 이벤트핸들러구현 위치서비스중지코드추가 Global Positioning System (GPS)

More information

BH의 아이폰 추천 어플

BH의 아이폰 추천 어플 BH의 아이폰 추천 어플 정병훈 소개글 목차 1 [BH의 아이폰 필수 앱] Pulse - 뉴스/웹사이트/RSS 모아주는 앱 4 2 [BH의 아이폰 필수 앱] Dropbox - n스크린 파일 공유 앱 (문서, 사진, 동영상 등) 12 3 [BH의 아이폰 필수 앱] 파노라마 사진찍기 Photosynth 17 4 [BH의 아이폰 필수 앱] 연락처 동기화 네이버 주소록

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

F120S_(Rev1.0)_1130.indd

F120S_(Rev1.0)_1130.indd 01 02 03 04 05 06 07 08 09 10 11 12 기본 구성품 구입 시 박스 안에 들어있는 구성품입니다. 구성품을 확인하세요. 누락된 구성품이 있을 경우, 또는 추가로 기본 구성품 구입을 원할 경우, LG전자 상담실 (T.1544-7777)로 문의하세요. 실제 제품과 그림이 다를 수 있으며 사정에 따라 일부 품목이 사전 통보 없이 변경될 수 있습니다.

More information

안전을 위한 주의사항 2 경고 상세내용 4 SMP 이용자 7대 안전수칙 6 불법조작금지 6 Dolby, DTS, SRS, DivX 7 사용자 설명서 가이드 10 구성품 확인 12 각 부분의 명칭과 기능 13 SMP의 올바른 사용법 14 구성품 사용안내 14 SMP 전원 켜기/끄기 16 터치스크린 사용안내 17 통신환경 설정 20 SMP 시작하기 22 홈 스크린

More information

<4D F736F F D20C1A4BAB8B0FAC7D0C8B85F FC7CFB0E85F446F63>

<4D F736F F D20C1A4BAB8B0FAC7D0C8B85F FC7CFB0E85F446F63> WPF 의상호운용성렌더링문제를해결하기위한라이브러리 김태경 O, 전현상, 유혁 고려대학교컴퓨터학과 건국대학교전자공학과 고려대학교컴퓨터학과 tkkim@os.korea.ac.kr, ijava21@gmail.com, hxy@os.korea.ac.kr Library to solve rendering problem of WPF interoperability Tae-Kyung

More information

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 Outline n n n n n n 보드개요보드연결필수패키지, Tool-Chain 설치 Kernel, file system build Fastboot 및 Tera Term설치 Kernel, file system 이미지전송및설치 - 2 - Young-Jin Kim X-Hyper320TKU

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이 모바일웹 플랫폼과 Device API 표준 이강찬 TTA 유비쿼터스 웹 응용 실무반(WG6052)의장, ETRI 선임연구원 1. 머리말 현재 소개되어 이용되는 모바일 플랫폼은 아이폰, 윈 도 모바일, 안드로이드, 심비안, 모조, 리모, 팜 WebOS, 바다 등이 있으며, 플랫폼별로 버전을 고려하면 그 수 를 열거하기 힘들 정도로 다양하게 이용되고 있다. 이

More information

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드] 리눅스 설치 Vmware를 이용한 Fedora Core 8 설치 소프트웨어실습 1 Contents 가상 머신 실습 환경 구축 Fedora Core 8 설치 가상 머신 가상 머신 가상 머신의 개념 VMware의 설치 VMware : 가상 머신 생성 VMware의 특징 실습 환경 구축 실습 환경 구축 Fedora Core 8 설치 가상 머신의 개념 가상 머신 (Virtual

More information

13 주차 - MDI, Exception, WebBrowser, RichTextBox, AlarmProgram 대림대학 년도 1 학기홍명덕

13 주차 - MDI, Exception, WebBrowser, RichTextBox, AlarmProgram 대림대학 년도 1 학기홍명덕 13 주차 - MDI, Exception, WebBrowser, RichTextBox, AlarmProgram 대림대학 - 2011 년도 1 학기홍명덕 (myungduk.hong@gmail.com) MDI(Multiple Document Interface) 응용프로그램은하나의응용프로그램에서동시에여러개의문서로작업할수있도록인터페이스를제공하는응용프로그램문서 (document)

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

00 SPH-V6900_....

00 SPH-V6900_.... SPH-V6900 사용설명서 사용전에 안전을 위한 경고 및 주의사항을 반드시 읽고 바르게 사용해 주세요. 사용설명서의 화면과 그림은 실물과 다를 수 있습니다. 사용설명서의 내용은 휴대전화의 소프트웨어 버전 또는 KTF 사업자의 사정에 따라 다를 수 있으며, 사용자에게 통보없이 일부 변경될 수 있습니다. 휴대전화의 소프트웨어는 사용자가 최신 버전으로 업그레이드

More information

LEICA C-LUX

LEICA C-LUX LEICA C-LUX Leica C-LUX...,...... : Leica C-LUX,,,. :,.,,...... EU 2 . AG ( 13)....,,. 60. ( )!,.,.... 3 ( ): (1546) : : : : : 02-2285-4421 ( ) Leica Camera AG ( ) R-CMI-LcK-1546 4 ,... AG......,,..,,,.

More information

(SW3704) Gingerbread Source Build & Working Guide

(SW3704) Gingerbread Source Build & Working Guide (Mango-M32F4) Test Guide http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document History

More information

( )부록

( )부록 A ppendix 1 2010 5 21 SDK 2.2. 2.1 SDK. DevGuide SDK. 2.2 Frozen Yoghurt Froyo. Donut, Cupcake, Eclair 1. Froyo (Ginger Bread) 2010. Froyo Eclair 0.1.. 2.2. UI,... 2.2. PC 850 CPU Froyo......... 2. 2.1.

More information

Microsoft PowerPoint - hci2-lecture12 [호환 모드]

Microsoft PowerPoint - hci2-lecture12 [호환 모드] Serialization C# Serialization 321190 2012 년가을학기 11/28/2012 박경신 Serializaiton( 직렬화 ) 란객체상태를지속시키거나전송할수있는형식으로변환하는과정으로, Serialization 반대로다시객체로변환하는것을 Deserialization 임 Serialization i 을사용하는이유 객체의상태를저장소에보존했다가나중에똑같은복사본을다시만들기위하거나,

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드] Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

<40C1B6BBE7BFF9BAB85F3130BFF9C8A32E687770>

<40C1B6BBE7BFF9BAB85F3130BFF9C8A32E687770> 북한 IT산업 기술수준 분석 및 남북 협력방안 Ⅰ. 북한 IT산업의 개황 Ⅱ. 북한 IT산업의 기술수준 분석 Ⅲ. 북한 IT산업 발전을 위한 남북 협력방안 Ⅰ 북한 IT산업의 개황 정보기술 산업 북한은 정보기술 산업을 관련 설비를 생산하고, 정보의 수집, 처리, 봉사를 제공하는 산업으로 정의 - 정보기계 설비(하드웨어) : 컴퓨터, 사무용 기계,

More information

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다. PDMLink 에등록된 Office 문서들의 PDF 문서변환기능및 Viewer 기능을알아보자 PDM Link에서지원하는 [Product View Document Support] 기능은 Windows-Base 기반의 Microsoft Office 문서들을 PDMLink용 Viewer인 Product View를통한읽기가가능한 PDF Format 으로변환하는기능이다.

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information