Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
2,1 MB
Nội dung
NGUY N VĂN TH NH L P TRÌNH WINDOWS PHONE ( Các hư ng d n b n ) 2014 Nguy n Văn Th nh-AnLang-Hu | Nguy n Văn Th nh-AnLang-Hu | I-M đ u ðây tài li u hư ng d n th c hành b n cho ngư i m i b t đ u làm quen v i l p trình Windows Phone Visual Studio 12 cài ñ t cho máy tính có h u hành Windows Vì v y tài li u có nhi u u đư c gi i thích c n k b ng hình nh đ minh h a cho thao tác máy tính Có th b qua gi i thích n u b n quen thu c v i Windows VS 2012.Ngoài ñ theo dõi tài li u b n c n ph i có m t hi u bi t v ngơn ng l p trình C#, khái ni m v ngôn ng k ch b n Trong tài li u dùng windows phone Emulator ( trình gi l p n tho i v i h ñi u hành Windows Phone ) ñ ch y ng d ng dùng VS 2012 ñ vi t code Tài li u ñư c d ch t tài li u d ng ebook Internet, vi t có liên quan MSDN (http://msdn.microsoft.com/en-us/library/windowsphone /develop/), Nokia Dev (http://developer.nokia.com/ )và di n ñàn v Windows Phone Xin chân thành c m ơn tác gi Nguy n Văn Th nh-AnLang-Hu | II-Cài đ t Windows Phone SDK 8.0 Windows Phone h ñi u hành c a Microsoft dành cho smartphone, k t c n n t ng Windows Mobile m c dù chúng khơng tương thích v i Khác v i Windows Mobile, Windows Phone t p trung vào s phát tri n c a Market place - nơi nhà phát tri n có th cung c p s n ph m (mi n phí ho c có phí) t i ngư i dùng Windows Phone đư c bán vào tháng 10 năm 2010 ñ u năm 2011 t i Châu Á Ngày 20 tháng năm 2012, Microsoft gi i thi u Windows Phone 8, m t th h h ñi u hành m i, tháng sau, 29 tháng 10 năm 2012, Microsoft b t ñ u bán phiên b n Windows Phone thay th lõi ki n trúc Windows CE Windows Phone thành kernel c a Windows NT v n ñư c thi t k cho Windows 8, ñi u ñã làm cho ng d ng d dàng ñư c k t n i gi a hai h u hành Ngồi ra, Windows Phone cịn h tr CPU ña nhân, nhi u ñ phân gi i, tùy bi n Start Screen, phiên b n di ñ ng c a Internet Explorer 10, Nokia Maps thay th Bing Maps.Theo Microsoft, Windows Phone s ñư c h tr ñ n ngày tháng năm 2014 Phiên b n m i nh t hi n t i Windows Phone b n 8.1 ñư c cho ñ i năm 2014 Nguy n Văn Th nh-AnLang-Hu | Trư c phát tri n m t ng d ng ñi n tho i Windows , c n ph i cài ñ t Windows Phone SDK (Software Development Kit) m t máy tính ch y Windows b n 64-bit Lý chúng h tr ch y Windows Phone Emulator , trình gi l p Windows Phone, ho t đ ng m t máy o Hyper-V, n n t ng o hóa c a Microsoft Vì v y, sau cài đ t máy tính ,ta s có h u hành Windows Phone ch y m t ñi n tho i o trông gi ng m t ñi n tho i th c s ta có th dùng Emulator th nghi m công vi c c a Tìm hi u yêu c u v h ñi u hành Vi c trư c tiên ki m tra phiên b n h ñi u hành máy tính.Ta vào Control Panel, System and Security , h p tho i System s th y phiên b n HðH c a máy tính : ð ti t ki m th i gian chi phí,n u b n ch y Windows phiên b n trư c 32-bit, b n có th s d ng Windows Upgrade Advisor b ng cách truy c p: Nguy n Văn Th nh-AnLang-Hu | http://windows.microsoft.com/en-us/windows/buy ñ nâng c p lên Windows hay 8.1 b n 64-bit V i m c đích phát tri n ng d ng Windows Phone, b n không c n ph i l a ch n phiên b n Pro, ch c n ñ m b o b t c ñi u b n ch n đ u 64-bit Ti p theo, b n t i v cài ñ t Windows Phone SDK N u b n ñã có Visual Studio 2012 Professional ho c cao hơn, trình cài đ t s ch thêm cơng c c n thi t cho phát tri n ñi n tho i gi l p N u b n Visual Studio 2012, trình cài đ t s thêm Visual Studio 2012 Express for Windows Phone Nó m t phiên b n ñơn nhi m c a Visual Studio ñ c bi t dành cho phát tri n n tho i , b n s khơng nh n đư c cơng c đ t o ng d ng Windows Store, Windows Presentation Foundation, ASP.NET, vv Tôi s d ng phiên b n cho ph n l i c a lo t này, v y cách làm g n gi ng cách s d ng Visual Studio 2012 Professional ho c cao Link t i Windows Phone SDK http://developer.windowsphone.com/en-us/downloadsdk Kích ho t Hyper-V Trong cài đ t, b n có th th y thông báo này: Nguy n Văn Th nh-AnLang-Hu | Trong trư ng h p này, b n s c n ph i kích ho t bo m ch ch c a b n ñ ch y Hyper-V Sau ñây hư ng d n kích ho t Hyper-V c a microsoft : ð kích ho t Hyper-V, b n ph i làm nh ng ñi u sau ñây: - Enable thi t l p BIOS Hyper-V yêu c u - Enable Hyper-V Windows ð kích ho t thi t l p BIOS Hyper-V yêu c u: Nguy n Văn Th nh-AnLang-Hu | Kh i đ ng l i máy tính b m phím cài đ t BIOS B n có th xem thay ñ i thi t l p BIOS c a máy tính b ng cách nh n m t phím qui đ nh q trình kh i ñ ng máy tính Phím vào BIOS khác tùy thu c vào nhà s n xu t motherboard Nó thư ng m t phím đ c bi t < Del > ho c m t phím ch c < F2 > ho c < F10 > Enable m c sau ñây n u chúng có s n: Feature Setting AMD Setting Intel SLAT (Second Level Address Translation) NP (Nested Page Tables) RVI (Rapid Virtualization Indexing) EPT (Extended Page Tables) o hóa h tr ph n c ng Hardware-assisted virtualization SVM (h tr b x lý AMD cho o hóa h tr VMX (h tr Intel cho o hóa h tr ph n c ng ) ph n c ng ) Nguy n Văn Th nh-AnLang-Hu | Data Execution Prevention (DEP) NX (No Execute) XD (Execute Disable) Disable m c sau ñây n u chúng có s n: Intel VT-d Trusted Execution Lưu cài ñ t kh i ñ ng l i máy tính m t l n n a ð kích ho t Hyper-V Windows: Trong Control Panel, b m Programs, sau nh p vào Turn Windows features on or off Trong h p tho i Windows Features, click Hyper-V Danh sách tùy ch n s m r ng Trong danh sách m r ng tùy ch n, kích ch n nh t Hyper-V Management tools, Platform, sau nh n OK Nguy n Văn Th nh-AnLang-Hu | dùng bo m ch ch Asus Sabertooth Z77 , b n Trong trư ng h p c a tôi, d m i nh t c a Intel i7 chip i7 i7-3770K phù h p socket LGA1155 N h tr cơng Nó ngh Hyper-Threading c a Intel Tơi ch ph i b t ON ch c sau : Nguy n Văn Th nh-AnLang-Hu | 10 13 Style ñư c ñ nh nghĩa , chưa ñư c áp d ng cho nút ñư c nêu Gán Style m t cách rõ ràng cho m i nút Khi nút s hình : Nguy n Văn Th nh-AnLang-Hu | 54 ■ ð s d ng implicit styles ta lo i b thu c tính Style cho t ng nút tương t , lo i b x: Name = "ButtonStyle" t resource t t c nút v i TargetType "Button" ñ u làm v y 13- u n Template Trong m t Style, b n ch có th thi t l p thu c tính có s n cho u n TargetType Ví d , ph n "ð nh nghĩa s d ng m t Style" trên, chúng tơi có th t o ki u m t nút ph bi n , không th thi t k đ làm trịn góc nút nút khơng có thu c tính Radius S d ng thêm thu c tính ControlTemplate, b n có th truy c p t t c b ph n nguyên th y t o nên m t ñi u n Ph n t k th a t ñi u n có m t thu c tính Template lo i ControlTemplate Ví d 19 cho th y m t Template ho t ñ ng thay th ph n bên c a m t nút b ng m t ñư ng biên đơn gi n TextBlock Ví d 19 M t ControlTemplate ñơn gi n Nguy n Văn Th nh-AnLang-Hu | 55 Chú ý r ng nút ñã ñư c làm trịn góc Các ví d ti p theo hình hi n th gi ng nhau, d n d n XAML ñư c tinh ch ñ ñư c linh ho t m nh m ð di chuy n template vào tài nguyên, t o ControlTemplate, sau s d ng thu c tính Template c a nút đ tham chi u resource Trong Ví d 20, Resources đư c lưu tr Grid có ch a Button Listing 3-20 ControlTemplate Defined in a Resource Nguy n Văn Th nh-AnLang-Hu | 56 Còn TextBlock v i text "Hide" sao? N i dung mã hóa c ng template khơng th xóa B n có th kh c ph c v n đ b ng cách s d ng thu c tính Content c a Button Cú pháp m r ng ñánh d u thu c tính TextBlock Text Ví d 21 s d ng TemplateBinding tham chi u thu c tính Content TemplateBinding liên k t giá tr c a m t thu c tính u n template v i giá tr c a m t vài thu c tính khác đ t u n đư c template hóa Nói cách khác, thu c tính Conten c a nút có giá tr "Hide" ñư c c m vào ControlTemplate nơi TemplateBinding tham chi u giá tr Content Ví d 21 S d ng TemplateBinding B n có th ki m tra tác ñ ng c a TemplateBinding b ng cách thay đ i thu c tính Content c a nút ñ xem văn b n ph n ánh Designer Hình sau cho th y thu c tính Content thay đ i thành “ New Content" nút Designer hi n th n i dung text m i Nguy n Văn Th nh-AnLang-Hu | 58 Thay tham kh o tr c ti p thu c tính Template c a Button , s d ng thu c tính Style c a Button đ t Template style Ưu m có th thêm, b t, ho c thay ñ i thu c tính style Khơng u n s ñi u n tham chi u ñ n style c n ph i ñư c thay ñ i Lý tư ng nh t, ch thu c tính đư c gán markup cho m t ñi u n thu c tính thay ñ i (ví d , Content) Style Ví d 22 gi m markup cho Button , ch cho tham chi u thu c tính Style thu c tính Content Ví d 22 Placing the Template into a Style Nguy n Văn Th nh-AnLang-Hu | 59 14-Đ nh nghĩa s d ng m t ControlTemplate Các bư c ví d sau trình bày vi c xây d ng m t ControlTemplate B n s s d ng m t vài style đư c tích h p đ thi t l p ngo i hình theo cách s ho t ñ ng v i b t kỳ s l a ch n theme c a ngư i s d ng T o m t Windows Phone App m i Trong Solution Explorer, m file MainPage.xaml ñ ch nh s a Chuy n sang Design view Kéo m t TextBox t Common Windows Phone Controls c a h p công c Th TextBox vào khu v c bên dư i tiêu ñ ng d ng tiêu ñ trang (xem hình ) Trong c a s Visual Studio Properties, b m chu t ph i vào Margin ch n Reset t menu ng c nh, th hi n hình L p l i bư c cho Width, Height, HorizontalAlignment Nguy n Văn Th nh-AnLang-Hu | 60 Trong designer view s th y : Dùng cú pháp ph n t thu c tính, thêm th cho TextBox: m t ControlTemplate th TextBox ðo n code dư i ñây cho th y cách markup chúng ði u thi t l p v c a ControlTemplate b n có th n vào thu c tính m i khác Nguy n Văn Th nh-AnLang-Hu | 61 N u b n nhìn vào Designer, b n s th y text khơng cịn xu t hi n ðó cho hi n th text màu ñen n n màu ñen ð s a l i này, ta thi t l p thu c tính TextBox Foreground thành resource tích h p PhoneForegroundBrush Cũng đ t BorderBrush thành PhoneBorderBrush Thi t l p thu c tính TextWrapping thành Wrap thêm n i dung văn b n ñ ki m tra l i Lúc ch y s sau : Thêm BorderBrush, BorderThickness, CornerRadius ñ v ch ñư ng biên Lưu ý ví d dư i s d ng TemplateBinding ñ l y BorderBrush chuy n xu ng t TextBox TemplateBinding cho phép b n thi t l p giá tr b ng code ng n g n : Nguy n Văn Th nh-AnLang-Hu | 62 Hình sau ch rõ biên có thi t l p u n cong mép nh CornerRadius : Thông thư ng, b n mu n lưu tr template thành m t tài nguyên Chuy n sang Visual Studio design view ch n TextBox Trong c a s Properties, nh n vào nút tùy ch n bên ph i c a Template property ch n Convert to New Resource t menu ng c nh (xem hình ) Lưu ý r ng Visual Studio phiên b n cũ s có t ng khác menu ng c nh Nguy n Văn Th nh-AnLang-Hu | 63 10 Trong h p tho i hi n th , thi t l p Key thành MyTextBoxTemplate ð m c ñ nh nh p vào nút OK đ đóng h p tho i t o resource 11.Quay tr l i ch ñ xem XAML xem xét nh ng thay ñ i Template ñã ñư c t o trang TextBox tham kh o ngu n t thu c tính Template: 12 Ch y th ng d ng trư ng h p bacground có màu sáng t i 13 Ch y ng d ng 14 Click Back button 15 Click mũi tên Forward 16 B t ñ u Cài ñ t ng d ng 17 Ch n Theme 18 Th xu ng danh sách Background ch n light Nguy n Văn Th nh-AnLang-Hu | 65 19 Thoát ng d ng Cài ñ t tái kh i ñ ng ng d ng Các văn b n biên s hi n th s d ng light ho c màu n n t i Hình sau cho th y c hai Themes ch y 15-Lơp thu c tính ph thu c ðây m t s nh ng ñi m d ng quan tr ng đư ng tìm hi u l p Windows Phone (xem hình ) B n s đư c làm vi c v i ñ i tư ng tr c ti p ho c gián ti p m i b n m Visual Studio ð c bi t, ý ñ i tư ng ph thu c tham gia vào h th ng thu c tính ph thu c Windows Phone, m t ch quan tr ng có nh hư ng đ n cách hành x giao di n ngư i dùng Windows Phone Nguy n Văn Th nh-AnLang-Hu | 66 • DependencyObject: Các l p s ñ i di n cho ñ i tư ng tham gia vào h th ng thu c tính ph thu c c a WindowsPhone DependencyObject l p s tr c ti p cho m t s l p Windows Phone quan tr ng bao g m UIElement, FrameworkTemplate, Style, ResourceDictionary • UIElement: Các l p s cho ñ i tư ng v i hình th c tr c quan có th x lý đ u vào b n • FrameworkElement: Các l p s cho ñ i tư ng tham gia vào b trí FrameworkElement xác ñ nh ch c cho d li u ràng bu c, tính đ i tư ng vịng đ i đ i tư ng Windows Phone Cho ñ n nay, ñã dành nhi u th i gian cho XAML mà không c n ph i nh ñ n b t kỳ code Và t i l i làm v y? Các resource style, template có th đư c xác ñ nh b ng cách khai báo, không c n b t kỳ code behind V n ñ : Các thu c tính ñ i tư ng tiêu chu n CLR (Common Language Runtime) ñư c mã hóa c ng t ng đ i tư ng riêng l Ví d , có m t ñ i tư ng WinForms Panel ta có thu c tính BackColor Màu s c ch có th ñư c thi t l p t b ng ñi u n BackColor property không nơi khác Nhưng Windows Phone 8, c n ph i thi t l p thu c tính t ph n khác c a XAML, ch ng h n tính ch t ràng bu c d li u, thu c tính liên k t v i thu c tính khác, thi t l p thu c tính t hình nh đ ng, áp d ng style, template Gi i pháp: thu c tính ph thu c chìa khóa đ làm x y ñi u kỳ di u Thu c tính ph thu c nh n giá tr t đ ng t ñ u vào khác Windows Phone nh n ñ u vào theo th t ưu tiên sau đây: ho t hình Giá tr ñ a phương (setters CLR, ràng bu c tài nguyên tĩnh ñây) Giá tr ñư c m u hóa (Control ho c d li u m u) giá tr style giá tr m c ñ nh Nguy n Văn Th nh-AnLang-Hu | 67 Trong hình sau, lưu ý r ng thu c tính public c a FrameworkElement ñ u tham gia vào h th ng thu c tính ph thu c B n có th khơng c n t o thu c tính ph thu c lưu ý r ng giá tr thu c tính có th đ n t m t s ngu n khác (ñ c bi t trình g l i) Ví d , thu c tính Heigh c a m t FrameworkElement có th đư c thi t l p b i m t y u t khác XAML, ch ng h n m t u n Slider HeightProperty có th ñư c thi t l p b i m t hình nh đ ng, t ng bư c tăng chi u cao c a ph n t Nguy n Văn Th nh-AnLang-Hu | 68 ... ñàn v Windows Phone Xin chân thành c m ơn tác gi Nguy n Văn Th nh-AnLang-Hu | II-Cài đ t Windows Phone SDK 8. 0 Windows Phone h ñi u hành c a Microsoft dành cho smartphone, k t c n n t ng Windows. .. u Windows Phone 8, m t th h h ñi u hành m i, tháng sau, 29 tháng 10 năm 2012, Microsoft b t ñ u bán phiên b n Windows Phone thay th lõi ki n trúc Windows CE Windows Phone thành kernel c a Windows. .. n tho i Windows , c n ph i cài ñ t Windows Phone SDK (Software Development Kit) m t máy tính ch y Windows b n 64-bit Lý chúng h tr ch y Windows Phone Emulator , trình gi l p Windows Phone, ho