겨울계절학기 윈도우 8.1 스토어앱개발 족집게강의 by 이길복 cto / hugeflow
Post on 24-May-2015
1.494 Views
Preview:
DESCRIPTION
TRANSCRIPT
겨울계절학기
윈도우 8.1
스토어앱개발
족집게강의
이길복 CTO / 휴즈플로우
About…휴즈플로우
<HugeFlow>라쓰고 <휴즈플로우>라읽어요.
C#/XAML 전문개발기업, 멀티터치테이블/키오스크솔루션집중.
7년된회사예요.
마이크로소프트MVP
6년째하고있어요.
분야가실버라이트라고하면동정의눈빛을보내주세요.
Give me six hours to chop down a
tree and I will spend the first four
sharpening the axe.
Abraham Lincoln
dev.windows.com
Shortcut단축키
Ctrl + .아는클래스이름입력. -> Ctrl + . 단축키 -> Enter 키
-> 코드상단에 using 문자동추가!
Ctrl + .있었으면…하는클래스생성구문(new)입력 -> Ctrl + . 단축키 -> Enter 키
-> 클래스.cs파일과함께클래스선언자동생성
Ctrl + .있었으면…하는함수또는변수입력. -> Ctrl + . 단축키 -> Enter 키
-> 함수선언/변수선언자동생성!
Code Snippet코드조각
Built-in Code Snippets이것만기억하세요. foreach<탭><탭>!
Built-in Code Snippetsswitch<탭><탭>!
Code Snippets Manager[TOOLS – Code Snippets Manager]
Custom Code Snippets확장자(.snippet )를가진 XML 파일
위치예: [내문서\Visual Studio 2013\Code Snippets\Visual C#\My Code Snippets]
AppBar앱바
요점Page에는 AppBar타입의 TopAppBar와 BottomAppBar속성이있음.
CommandAppBar라는추상화된 AppBar를사용하면편함.
CommandAppBar에는 PrimaryCommands와 SecondaryCommands속성이있음.
◦ PrimaryCommands속성 –앱바오른편에위치하는앱바버튼들
◦ SecondaryCommands속성 - 앱바왼편에위치하는앱바버튼들
AppBarButton의 Icon속성과 Label속성만잘정의하면준비끝◦ Icon 속성 –미리정의된많은아이콘을지원
◦ Label 속성 –아이콘아래표현될글자
예제
더볼것Icon의종류◦ SymbolIcon (기본)
◦ PathIcon
◦ FontIcon
◦ BitmapIcon
BitmapIcon의배신◦ 렌더링에문제
◦ http://gilverlight.net/3454
Flyout플라이아웃
요점장착방법 2가지◦ Button에 Flyout속성에할당.
◦ Button이아닌경우, Flyout.AttachedFlyout정적속성에할당.
Flyout은 Flyout, MenuFlyout두종류◦ Flyout –마치 ContentPresenter처럼 Content로어떤 UI나품을수있음.
◦ MenuFlyout –컨텍스트메뉴와같은스타일
Flyout은 LightDismiss를지원◦ Flyout바깥영역을클릭또는탭하여닫을수있음.
MenuFlyoutMenuFlyoutItem –플라이아웃이닫히며즉시작업수행
ToggleMenuFlyoutItem –옵션켜기또는끄기
MenuFlyoutSeparator –메뉴구분선
Using Flyout플라이아웃 활용 시나리오
데이터표시Flyout의 DataContext는자기를연객체(opener)의 DataContext를상속받음.
◦ 예를들어 AppBarButton의 DataContext로특정인스턴스를할당.
Flyout닫기Button의 Flyout속성이용.
기타 UIElement의경우 GetValue(…) 메서드를이용.
Privacy Policy개인정보취급방침
심사탈락의단골손님개인정보를입력받는경우.
티스토리같은블로그하나개설하고, 개인정보취급방침글을써서 URL을 GET!
스토어등록정보에서도한번적고, 설정메뉴에서도한번활용.
예 - http://privacypolicy.tistory.com/
RESTful APIREST API 소비하기
요약HttpClient클래스로 GET / POST / PUT / DELETE 를지원◦ GetAsync
◦ PostAsync
◦ PutAsync
◦ DeleteAsync
◦ GetStringAsync*
예제GET
POST
Handling XMLXML 다루기
요약XDocument와 LINQ to XML을활용.
Handling JSONJSON 다루기
JSON 읽기Model 클래스에약간의 Attribute 작업필요◦ public 프로퍼티는기본적으로 Serialize에포함됨.
◦ 포함시키지않으려면 [JsonIgnore]를붙여줄것.
JSON 쓰기Model 클래스에약간의 Attribute 작업.
◦ public 프로퍼티는기본적으로 Serialize에포함됨.
◦ 포함시키지않으려면 [JsonIgnore]를붙여줄것.
JsonConvert.SerializeObject에인스턴스만넘겨주면 JSON 문자열을얻을수있다!
요약JSON.NET이라는고마운것이존재.
◦ Nuget지원 : http://www.nuget.org/packages/newtonsoft.json/
◦ Package Manager Console에서
◦ Package Manager Console은[TOOLS – Library Package Manager – Package Manager Console] 이렇게띄움
RSSRSS 소비하기
요약RSS나 Atom 규약에대응하는 Syndication*이라는고마운클래스군이존재.
◦ SyndicationClient
◦ SyndicationFeed
◦ SyndicationItem등
Media Player Framework미디어 플레이어 프레임웍
요약오픈소스프로젝트: Player Framework by Microsoft
◦ http://playerframework.codeplex.com/
MediaPlayer클래스인스턴스하나면준비끝.
윈도우 8.1 기본동영상플레이어와 Look & Feel이같음.
다양한기능을속성으로지원.
폭넓은지원◦ Windows 8
◦ HTML5
◦ Silverlight
◦ Windows Phone
◦ Etc.
Toast Notification토스트 알림
요약맨땅에짜지말고 NotificationExtensions활용◦ Nuget지원: http://www.nuget.org/packages/NotificationsExtensions.WinRT/
◦ Package Manager Console에서
◦ Package Manager Console은[TOOLS – Library Package Manager – Package Manager Console] 이렇게띄움
템플릿카탈로그가존재. 보고디자인결정.
◦ 알림템플릿카탈로그 (Windows Store apps)
◦ http://msdn.microsoft.com/ko-kr/library/windows/apps/hh761494.aspx
예제ToastText02는템플릿카탈로그에서찾을수있는이름!
Live Tile라이브타일
요약토스트알림처럼 NotificationExtensions활용.
토스트알림과마찬가지로템플릿카탈로그가존재. 보고디자인결정.
◦ 타일템플릿카탈로그 (Windows Store apps)
◦ http://msdn.microsoft.com/ko-kr/library/windows/apps/hh761491.aspx
◦ 버전1과버전2가존재하는데 8.1은버전2를사용
알림큐선입선출(FIFO)로최대 5개의타일알림이자동순환.
각타일알림은모두다른템플릿을가져도됨.
예제
BulkAccess벌크액세스
요약Windows.Storage.BulkAccess
◦ 파일의개수가많은경우, 가장빠르게파일의속성들을읽을수있는방법을제공하는네임스페이스
FileInformationFactory클래스가주인공.
Launching Default WebBrowser웹브라우저 띄우기
요약Launcher.LaunchUriAsync로쉽게웹브라우저를띄울수있음.
웹브라우저가차지하고남을공간을 LauncherOptions이가진ViewSizePreference 타입의 DesiredRemainingView 속성을통해설정할수있음.
Default WebBrowser?운영체제에등록된기본웹브라우저를뜻함.
IE의경우 Desktop IE와 Metro IE 구분은?
◦ Desktop IE에서 [도구 –인터넷옵션 –프로그램탭]의Internet Explorer 열기에서사용자가선택.
Code for Trial체험판 만들기
CurrentApp과 CurrentAppSimulator테스트는 CurrentAppSimulator정적클래스를이용해야하고, 스토어에등록할패키지는 CurrentApp 정적클래스를이용해야함.
실수하면, 스토어심사과정에서원인모를앱종료현상과싸워야함.
두클래스가공통부모가없음.
Application Settings앱 설정
ApplicationDatastring 타입의 key와 object 타입의 value로관리.
설정저장소종류◦ ApplicationData.Current.LocalSettings
◦ ApplicationData.Current.RoamingSettings
Good bye
gilbok@live.com
http://gilverlight.net
top related