本書是知名技術專家林政的新著作,全書用700多頁的篇幅全面論述了Windows 10開發(fā)的幾乎所有細節(jié)。書中實例的完整代碼到清華大學出版社網(wǎng)站本書頁面下載。
《深入淺出:Windows 10通用應用開發(fā)》系統(tǒng)論述了Windows 10操作系統(tǒng)的基本架構、開發(fā)方法和項目實戰(zhàn),由淺入深地介紹了Windows 10通用應用程序(可運行于手機、平板、PC、智能硬件、Xbox、HoloLens等)的開發(fā)知識。全書共分為四篇: 開發(fā)基礎篇(第1~3章)、開發(fā)提高篇(第4~13章)、開發(fā)進階篇(第14~22章)和開發(fā)實例篇(第23~24章)。本書全面詳盡地論述了Windows 10通用應用程序開發(fā)的全方位技術,包括Windows 10技術架構、開發(fā)環(huán)境和項目解析、XAML語法和原理、控件編程、布局管理、應用數(shù)據(jù)、動畫編程、列表編程、圖表編程、數(shù)據(jù)綁定、網(wǎng)絡編程、Socket編程、藍牙和近場通信、聯(lián)系人存儲、多媒體、多任務、應用間通信、地理位置、C#和C++混合編程、Bing在線壁紙項目開發(fā)、記賬本項目開發(fā)等。
本書配套提供了書中實例源代碼,最大限度地滿足讀者高效學習和快速動手實踐的需要。
本書內(nèi)容覆蓋面廣、實例豐富、注重理論學習與實踐開發(fā)的配合,非常適合于Windows 10開發(fā)入門的讀者,也適合于從iOS和Android等移動平臺轉向Windows 10平臺的讀者,對于有Windows 10/Windows 8/Windows Phone開發(fā)經(jīng)驗的讀者,也極具參考價值。
林政,曾就職于國內(nèi)知名互聯(lián)網(wǎng)企業(yè),擅長Windows 10、.NET、C#等多種開發(fā)技術,熱衷于技術知識的分享和傳播,麥子學院Window Phone培訓講師,錄制了知名的移動開發(fā)課程“Window Phone 8/8.1高級編程”,著有暢銷圖書《深入淺出:Windows Phone 7應用開發(fā)》、《深入淺出:Windows Phone 8應用開發(fā)》、《深入淺出:Windows Phone 8.1應用開發(fā)》、《深入淺出:Windows Phone 8.1 UI控件編程》。
開發(fā)基礎篇
第1章綜述
1.1Windows 10的改變與發(fā)展機遇
1.1.1Windows 10新特性
1.1.2Windows 10手機版本
1.1.3Windows 10 PC版本
1.1.4Windows 10物聯(lián)網(wǎng)版本
1.1.5Windows 10對于開發(fā)者的機遇
1.2Windows 10技術框架
1.2.1Windows運行時
1.2.2Windows 10通用應用平臺
1.2.3Windows 10通用應用程序開發(fā)模型
第2章開發(fā)環(huán)境和項目工程解析
2.1搭建開發(fā)環(huán)境
2.1.1開發(fā)環(huán)境的要求
2.1.2開發(fā)工具的安裝
2.2創(chuàng)建Windows 10通用應用
2.2.1創(chuàng)建Hello World項目
2.2.2解析Hello World應用
2.3不同平臺設備的適配
2.3.1特定平臺的API調(diào)用
2.3.2界面適配
第3章XAML界面原理和語法
3.1理解XAML
3.2XAML語法
3.2.1命名空間
3.2.2對象元素
3.2.3設置屬性
3.2.4附加屬性
3.2.5標記擴展
3.2.6事件
3.3XAML的原理
3.3.1XAML頁面的編譯
3.3.2動態(tài)加載XAML
3.4XAML的樹結構
3.4.1可視化樹
3.4.2VisualTreeHelper類
3.4.3遍歷可視化樹
3.5框架和頁面
3.5.1框架頁面結構
3.5.2頁面導航
開發(fā)提高篇
第4章控件編程
4.1系統(tǒng)控件分類
4.2按鈕(Button)
4.3文本塊(TextBlock)
4.4文本框(TextBox)
4.5邊框(Border)
4.6超鏈接(HyperlinkButton)
4.7單選按鈕(RadioButton)
4.8復選框(CheckBox)
4.9進度條(ProgressBar)
4.10滾動視圖(ScrollViewer)
4.11滑動條(Slider)
4.12時間選擇器(TimePicker)和日期選擇器(DatePicker)
4.13樞軸控件(Pivot)
4.14全景視圖控件(Hub)
4.15浮出控件(Flyout)
4.16下拉框(ComboBox)
4.17命令欄/菜單欄(CommandBar)
4.18分屏控件(SplitView)
第5章布局管理
5.1布局屬性和面板
5.1.1布局的通用屬性
5.1.2網(wǎng)格布局(Grid)
5.1.3堆放布局(StackPanel)
5.1.4絕對布局(Canvas)
5.1.5相對布局(RelativePanel)
5.1.6多分辨率的適配布局
5.2布局原理
5.2.1布局的意義
5.2.2布局系統(tǒng)
5.2.3布局系統(tǒng)的重要方法和屬性
5.2.4測量和排列的過程
5.3自定義布局規(guī)則
5.3.1創(chuàng)建布局類
5.3.2實現(xiàn)測量過程
5.3.3實現(xiàn)排列過程
5.3.4應用布局規(guī)則
第6章應用數(shù)據(jù)
6.1應用設置存儲
6.1.1應用設置簡介
6.1.2應用設置操作
6.1.3存儲容器設置
6.1.4復合設置數(shù)據(jù)
6.2應用文件存儲
6.2.1三種類型的應用文件
6.2.2應用文件和文件夾操作
6.2.3文件Stream和Buffer讀寫操作
6.2.4應用文件的URI方案
6.3常用的存儲數(shù)據(jù)格式
6.3.1JSON數(shù)據(jù)序列化存儲
6.3.2XML文件存儲
6.4安裝包文件數(shù)據(jù)
6.4.1安裝包文件訪問
6.4.2安裝包文件的URI方案
第7章圖形繪圖
7.1圖形基礎
7.1.1圖形中常用的結構
7.1.2畫圖相關的類
7.1.3基礎的圖形形狀
7.2Path圖形
7.2.1兩種Path圖形的創(chuàng)建方法
7.2.2使用簡單的幾何圖形來創(chuàng)建Path
7.2.3使用PathGeometry來創(chuàng)建Path
7.2.4使用路徑標記語法創(chuàng)建Path
7.2.5使用Path實現(xiàn)自定義圖形
7.2.6利用Expression Blend工具創(chuàng)建Path圖形
7.3畫刷
7.3.1SolidColorBrush畫刷
7.3.2LinearGradientBrush畫刷
7.3.3ImageBrush畫刷
7.4圖形裁剪
7.4.1使用幾何圖形進行剪裁
7.4.2對布局區(qū)域進行剪裁
7.5使用位圖編程
7.5.1拉伸圖像
7.5.2使用RenderTargetBitmap類生成圖片
7.5.3存儲生成的圖片文件
第8章變換特效和三維特效
8.1變換特效
8.1.1變換的原理二維變換矩陣
8.1.2平移變換(TranslateTransform)
8.1.3旋轉變換(RotateTransform)
8.1.4縮放變換(ScaleTransform)
8.1.5扭曲變換(SkewTransform)
8.1.6組合變換(TransformGroup)
8.1.7矩陣變換(MatrixTransform)
8.2三維特效
8.2.1三維坐標體系
8.2.2三維旋轉
8.2.3三維平移
8.2.4用矩陣實現(xiàn)三維特效
...
第13章圖表編程
13.1動態(tài)生成折線圖和區(qū)域圖
13.1.1折線圖和區(qū)域圖原理
13.1.2生成圖形邏輯封裝
13.2實現(xiàn)餅圖控件
13.2.1自定義餅圖片形狀
13.2.2封裝餅圖控件
13.3線性報表
13.3.1實現(xiàn)圖形表格和坐標軸
13.3.2定義線性數(shù)據(jù)圖形類
13.3.3實現(xiàn)圖例
13.3.4實現(xiàn)線性報表
13.4QuickCharts圖表控件庫解析
13.4.1QuickCharts項目結構分析
13.4.2餅圖圖表PieChart的實現(xiàn)邏輯
13.4.3連續(xù)圖形圖表SerialChart的實現(xiàn)邏輯
開發(fā)進階篇
第14章網(wǎng)絡編程
14.1網(wǎng)絡編程之HttpWebRequest類
14.1.1HttpWebRequest實現(xiàn)Get請求
14.1.2HttpWebRequest實現(xiàn)Post請求
14.1.3網(wǎng)絡請求的取消
14.1.4超時控制
14.1.5斷點續(xù)傳
14.1.6實例演示: RSS閱讀器
14.2網(wǎng)絡編程之HttpClient類
14.2.1Get請求獲取字符串和數(shù)據(jù)流數(shù)據(jù)
14.2.2Post請求發(fā)送字符串和數(shù)據(jù)流數(shù)據(jù)
14.2.3設置和獲取Cookie
14.2.4網(wǎng)絡請求的進度監(jiān)控
14.2.5自定義HTTP請求篩選器
14.2.6實例演示: 部署IIS服務和實現(xiàn)客戶端對服務器的請求
14.3使用Web Service進行網(wǎng)絡編程
14.3.1Web Service簡介
14.3.2實例演示: 手機號碼歸屬地查詢
14.4使用WCF Service進行網(wǎng)絡編程
14.4.1WCF Service簡介
14.4.2創(chuàng)建WCF Service
14.4.3調(diào)用WCF Service
14.5推送通知
14.5.1推送通知的原理和工作方式
14.5.2推送通知的分類
14.5.3推送通知的發(fā)送機制
14.5.4客戶端程序實現(xiàn)推送通知的接收
第15章Socket編程
15.1Socket編程簡介
15.1.1Socket相關概念
15.1.2Socket通信的過程
15.2Socket編程之TCP協(xié)議
15.2.1StreamSocket介紹及TCP Socket編程步驟
15.2.2連接Socket
15.2.3發(fā)送和接收消息
15.2.4TCP協(xié)議服務器端監(jiān)聽消息
15.2.5實例: 模擬TCP協(xié)議通信過程
15.3Socket編程之UDP協(xié)議
15.3.1發(fā)送和接收消息
15.3.2UDP協(xié)議服務器端監(jiān)聽消息
15.3.3實例: 模擬UDP協(xié)議通信過程
第16章藍牙和近場通信
16.1藍牙
16.1.1藍牙原理
16.1.2Windows 10藍牙技術簡介
16.1.3藍牙編程類
16.1.4查找藍牙設備和對等項
16.1.5藍牙發(fā)送消息
16.1.6藍牙接收消息
16.1.7實例: 實現(xiàn)藍牙程序對程序的傳輸
16.1.8實例: 實現(xiàn)藍牙程序對設備的連接
16.2近場通信
16.2.1近場通信的介紹
16.2.2近場通信編程類和編程步驟
16.2.3發(fā)現(xiàn)近場通信設備
16.2.4近場通信發(fā)布消息
16.2.5近場通信訂閱消息
16.2.6實例: 實現(xiàn)近場通信的消息發(fā)布訂閱
第17章聯(lián)系人存儲
17.1聯(lián)系人數(shù)據(jù)存儲
17.1.1ContactStore類和StoredContact類
17.1.2聯(lián)系人新增
17.1.3聯(lián)系人查詢
17.1.4聯(lián)系人編輯
17.1.5聯(lián)系人刪除
17.1.6聯(lián)系人頭像
17.1.7實例演示: 聯(lián)系人存儲的使用
17.2聯(lián)系人編程技巧
17.2.1vCard的運用
17.2.2RemoteID的運用
第18章多任務
18.1后臺任務
18.1.1后臺任務的原理
18.1.2后臺任務的資源限制
18.1.3后臺任務的基本概念和相關的類
18.1.4后臺任務的實現(xiàn)步驟和調(diào)試技巧
18.1.5使用MaintenanceTrigger實現(xiàn)Toast通知
18.1.6使用后臺任務監(jiān)控鎖屏Raw消息的推送通知
18.1.7后臺任務的開銷、終止原因和完成進度匯報
18.2后臺文件傳輸
18.2.1后臺文件傳輸簡介
18.2.2后臺文件下載步驟
18.2.3后臺文件下載的實例編程
18.2.4后臺文件上傳的實現(xiàn)
第19章應用間通信
19.1啟動系統(tǒng)內(nèi)置應用
19.1.1啟動內(nèi)置應用的URI方案
19.1.2實例演示: 打開網(wǎng)頁、撥打電話和啟動設置頁面
19.2URI關聯(lián)的應用
19.2.1注冊URI關聯(lián)
19.2.2監(jiān)聽URI
19.2.3啟動URI關聯(lián)的應用
19.2.4實例演示: 通過URI關聯(lián)打開不同的應用頁面
19.3文件關聯(lián)的應用
19.3.1注冊文件關聯(lián)
19.3.2監(jiān)聽文件啟動
19.3.3啟動文件關聯(lián)應用
19.3.4實例演示: 創(chuàng)建一個.log后綴的文件關聯(lián)應用
第20章多媒體
20.1MediaElement對象
20.1.1MediaElement類的屬性、事件和方法
20.1.2MediaElement的狀態(tài)
20.2本地音頻播放
20.3網(wǎng)絡音頻播放
20.4使用SystemMediaTransportControls控件播放音樂
20.5本地視頻播放
20.6網(wǎng)絡視頻播放
第21章地理位置
21.1定位和地圖
21.1.1獲取定位信息
21.1.2在地圖上顯示位置信息
21.1.3跟蹤定位的變化
21.1.4后臺定位
21.2地理圍欄
21.2.1設置地理圍欄
21.2.2監(jiān)聽地理圍欄通知
第22章C#與C++混合編程
22.1C++/CX語法
22.1.1命名空間
22.1.2基本的類型
22.1.3類和結構
22.1.4對象和引用計數(shù)
22.1.5屬性
22.1.6接口
22.1.7委托
22.1.8事件
22.1.9自動類型推導auto
22.1.10Lambda表達式
22.1.11集合
22.2Windows運行時組件
22.2.1在項目中使用Windows運行時組件
22.2.2Windows運行時組件異步接口的封裝
22.3使用標準C++
22.3.1標準C++與C++/CX的類型自動轉換
22.3.2標準C++與C++/CX的字符串的互相轉換
22.3.3標準C++與C++/CX的數(shù)組的互相轉換
22.3.4在Windows運行時組件中使用標準C++
開發(fā)實例篇
第23章應用實戰(zhàn): Bing在線壁紙
23.1應用實現(xiàn)的功能
23.2獲取Bing壁紙的網(wǎng)絡接口
23.3壁紙請求服務的封裝
23.4應用首頁的設計和實現(xiàn)
23.5手機和平板不同分辨率的適配
23.6壁紙列表詳情和操作的實現(xiàn)
第24章應用實戰(zhàn): 記賬本
24.1記賬本簡介
24.2對象序列化存儲
24.3記賬本首頁磁貼設計
24.4添加一筆收入和支出
24.5月報表
24.6年報表
24.7查詢記錄
24.8分類圖表