《深入淺出:Windows 10通用套用開發(第2版)》2019年10月清華大學出版社出版的圖書,作者是林政。
基本介紹
- 書名:深入淺出:Windows 10通用套用開發(第2版)
- 作者:林政
- ISBN:9787302533436
- 定價:129元
- 出版社:清華大學出版社
- 出版時間:2019.10
內容簡介,圖書目錄,
內容簡介
本書對Windows 10 Universal套用開發的知識進行了詳細的講解,深入地解剖Windows 10的各種各樣的編程技術,從原理到實踐到套用都進行了深入的探討和講解。詳細講解了Windows 10開發的XAML原理、控制項編程、數據存儲、網路編程、界面原理、樣式模板、圖形繪圖、圖表編程、動畫編程、列表編程和控制項編程等實用性非常強的知識。
圖書目錄
開發基礎篇
第1章綜述
1.1Windows10的改變與發展機遇
1.1.1Windows 的歷史
1.1.2Windows 10的新特性
1.2Windows 10的技術框架
1.2.1Windows運行時
1.2.2Windows10通用套用平台
1.2.3Windows 10通用應用程式開發模型
第2章開發環境和項目工程解析
2.1搭建開發環境
2.1.1開發環境的要求
2.1.2開發工具的安裝
2.2創建Windows 10通用套用
2.2.1創建Hello World項目
2.2.2解析Hello World套用
2.3不同平台設備的適配
2.3.1特定平台的API調用
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動態載入XAML
3.4XAML的樹結構
3.4.1可視化樹
3.4.2VisualTreeHelper類
3.4.3遍歷可視化樹
3.5框架和頁面
3.5.1框架頁面結構
3.5.2頁面導航
開發提高篇
第4章控制項編程
4.1系統控制項分類
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格線布局(Grid)
5.1.3堆放布局(StackPanel)
5.1.4絕對布局(Canvas)
5.1.5相對布局(RelativePanel)
5.1.6多解析度的適配布局
5.2布局原理
5.2.1布局的意義
5.2.2布局系統
5.2.3布局系統的重要方法和屬性
5.2.4測量和排列的過程
5.3自定義布局規則
5.3.1創建布局類
5.3.2實現測量過程
5.3.3實現排列過程
5.3.4套用布局規則
第6章套用數據
6.1套用設定存儲
6.1.1套用設定簡介
6.1.2套用設定操作
6.1.3存儲容器設定
6.1.4複合設定數據
6.2套用檔案存儲
6.2.1三種類型的套用檔案
6.2.2套用檔案和資料夾操作
6.2.3檔案Stream和Buffer讀寫操作
6.2.4套用檔案的URI方案
6.3常用的存儲數據格式
6.3.1JSON數據序列化存儲
6.3.2XML檔案存儲
6.4安裝包檔案數據
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圖形的創建方法
7.2.2使用簡單的幾何圖形來創建Path
7.2.3使用PathGeometry來創建Path
7.2.4使用路徑標記語法創建Path
7.2.5使用Path實現自定義圖形
7.2.6利用Expression Blend工具創建Path圖形
7.3畫刷
7.3.1SolidColorBrush畫刷
7.3.2LinearGradientBrush畫刷
7.3.3ImageBrush畫刷
7.4圖形裁剪
7.4.1使用幾何圖形進行剪裁
7.4.2對布局區域進行剪裁
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用矩陣實現三維特效
第9章動畫編程
9.1動畫原理
9.1.1理解動畫
9.1.2動畫的目標屬性
9.1.3動畫的類型
9.2線性插值動畫
9.2.1動畫的基本語法
9.2.2線性動畫的基本語法
9.2.3DoubleAnimation實現變換動畫
9.2.4ColorAnimation實現顏色漸變動畫
9.2.5PointAnimation實現Path圖形動畫
9.3關鍵幀動畫
9.3.1關鍵幀動畫簡介
9.3.2線性關鍵幀
9.3.3樣條關鍵幀
9.3.4離散關鍵幀
9.4緩動函式動畫
9.4.1緩動函式動畫簡介
9.4.2BackEase動畫
9.4.3BounceEase動畫
9.4.4CircleEase動畫
9.4.5CubicEase動畫
9.4.6ElasticEase動畫
9.4.7ExponentialEase動畫
9.4.8PowerEase/QuadraticEase/QuarticEase/QuinticEase動畫
9.4.9SineEase動畫
9.5基於幀動畫
9.5.1基於幀動畫的原理
9.5.2基於幀動畫的套用場景
9.5.3基於幀動畫的實現
9.6動畫方案的選擇
9.6.1幀速率
9.6.2UI執行緒和構圖執行緒
9.6.3選擇最優的動畫方案
9.7模擬實現微信的彩蛋動畫
9.7.1實現的思路
9.7.2星星創建工廠
9.7.3實現單個星星的動畫軌跡
9.7.4封裝批量星星飄落的邏輯
9.7.5星星飄落動畫演示
第10章樣式和模板
10.1樣式
10.1.1創建樣式
10.1.2樣式繼承
10.1.3以編程方式設定樣式
10.1.4樣式檔案
10.2模板
10.2.1控制項模板(ControlTemplate)
10.2.2ContentControl和ContentPresenter
10.2.3視覺狀態管理(VisualStatesManager)
10.2.4數據模板(DataTemplate)
10.2.5ItemTemplate、ContentTemplate和DataTemplate
10.2.6數據模板的使用
10.2.7讀取和更換數據模板
第11章數據綁定
11.1數據綁定的基礎
11.1.1數據綁定的原理
11.1.2創建綁定
11.1.3用元素值綁定
11.1.4三種綁定模式
11.1.5更改通知
11.1.6綁定數據轉換
11.2綁定集合
11.2.1數據集合
11.2.2綁定列表控制項
11.2.3綁定ObservableCollection<T>集合
11.2.4綁定自定義集合
11.3MVVM模式
11.3.1MVVM模式簡介
11.3.2MVVM模式的實現
第12章列表編程
12.1列表控制項的使用
12.1.1ItemsControl實現最簡潔的列表
12.1.2ListBox實現下拉點擊刷新列表
12.1.3ListView實現下拉自動刷新列表
12.1.4GridView實現格線列表
12.1.5SemanticZoom實現分組列表
12.2虛擬化技術
12.2.1列表的虛擬化
12.2.2VirtualizingStackPanel、ItemsStackPanel和ItemsWrapGrid
虛擬化排列布局控制項
12.2.3實現橫向虛擬化布局
12.2.4大數據量網路圖片列表的異步載入和記憶體最佳化
第13章圖表編程
13.1動態生成折線圖和區域圖
13.1.1折線圖和區域圖原理
13.1.2生成圖形邏輯封裝
13.2實現餅圖控制項
13.2.1自定義餅圖片形狀
13.2.2封裝餅圖控制項
13.3線性報表
13.3.1實現圖形表格和坐標軸
13.3.2定義線性數據圖形類
13.3.3實現圖例
13.3.4實現線性報表
13.4QuickCharts圖表控制項庫解析
13.4.1QuickCharts項目結構分析
13.4.2餅圖圖表PieChart的實現邏輯
13.4.3連續圖形圖表SerialChart的實現邏輯
開發進階篇
第14章網路編程
14.1網路編程之HttpWebRequest類
14.1.1HttpWebRequest實現Get請求
14.1.2HttpWebRequest實現Post請求
14.1.3網路請求的取消
14.1.4逾時控制
14.1.5斷點續傳
14.1.6實例演示: RSS閱讀器
14.2網路編程之HttpClient類
14.2.1Get請求獲取字元串和數據流數據
14.2.2Post請求傳送字元串和數據流數據
14.2.3設定和獲取Cookie
14.2.4網路請求的進度監控
14.2.5自定義HTTP請求篩選器
14.2.6實例演示: 部署IIS服務和實現客戶端對伺服器的請求
14.3使用Web Service進行網路編程
14.3.1Web Service簡介
14.3.2實例演示: 手機號碼歸屬地查詢
14.4使用WCF Service進行網路編程
14.4.1WCF Service簡介
14.4.2創建WCF Service
14.4.3調用WCF Service
14.5推送通知
14.5.1推送通知的原理和工作方式
14.5.2推送通知的分類
14.5.3推送通知的傳送機制
14.5.4客戶端程式實現推送通知的接收
第15章Socket編程
15.1Socket編程簡介
15.1.1Socket相關概念
15.1.2Socket通信的過程
15.2Socket編程之TCP協定
15.2.1StreamSocket介紹及TCP Socket編程步驟
15.2.2連線Socket
15.2.3傳送和接收訊息
15.2.4TCP協定伺服器端監聽訊息
15.2.5實例: 模擬TCP協定通信過程
15.3Socket編程之UDP協定
15.3.1傳送和接收訊息
15.3.2UDP協定伺服器端監聽訊息
15.3.3實例: 模擬UDP協定通信過程
第16章藍牙和近場通信
16.1藍牙
16.1.1藍牙原理
16.1.2Windows 10藍牙技術簡介
16.1.3藍牙編程類
16.1.4查找藍牙設備和對等項
16.1.5藍牙傳送訊息
16.1.6藍牙接收訊息
16.1.7實例: 實現藍牙程式對程式的傳輸
16.1.8實例: 實現藍牙程式對設備的連線
16.2近場通信
16.2.1近場通信的介紹
16.2.2近場通信編程類和編程步驟
16.2.3發現近場通信設備
16.2.4近場通信發布訊息
16.2.5近場通信訂閱訊息
16.2.6實例: 實現近場通信的訊息發布訂閱
第17章聯繫人存儲
17.1聯繫人數據存儲
17.1.1ContactStore類和StoredContact類
17.1.2聯繫人新增
17.1.3聯繫人查詢
17.1.4聯繫人編輯
17.1.5聯繫人刪除
17.1.6聯繫人頭像
17.1.7實例演示: 聯繫人存儲的使用
17.2聯繫人編程技巧
17.2.1vCard的運用
17.2.2RemoteID的運用
第18章多任務
18.1後台任務
18.1.1後台任務的原理
18.1.2後台任務的資源限制
18.1.3後台任務的基本概念和相關的類
18.1.4後台任務的實現步驟和調試技巧
18.1.5使用MaintenanceTrigger實現Toast通知
18.1.6使用後台任務監控鎖屏Raw訊息的推送通知
18.1.7後台任務的開銷、終止原因和完成進度匯報
18.2後台檔案傳輸
18.2.1後台檔案傳輸簡介
18.2.2後台檔案下載步驟
18.2.3後台檔案下載的實例編程
18.2.4後台檔案上傳的實現
第19章套用間通信
19.1啟動系統內置套用
19.1.1啟動內置套用的URI方案
19.1.2實例演示: 打開網頁、撥打電話和啟動設定頁面
19.2URI關聯的套用
19.2.1註冊URI關聯
19.2.2監聽URI
19.2.3啟動URI關聯的套用
19.2.4實例演示: 通過URI關聯打開不同的套用頁面
19.3檔案關聯的套用
19.3.1註冊檔案關聯
19.3.2監聽檔案啟動
19.3.3啟動檔案關聯套用
19.3.4實例演示: 創建一個以.log為擴展名的檔案關聯套用
第20章多媒體
20.1MediaElement對象
20.1.1MediaElement類的屬性、事件和方法
20.1.2MediaElement的狀態
20.2本地音頻播放
20.3網路音頻播放
20.4使用SystemMediaTransportControls控制項播放音樂
20.5本地視頻播放
20.6網路視頻播放
第21章地理位置
21.1定位和地圖
21.1.1獲取定位信息
21.1.2在地圖上顯示位置信息
21.1.3跟蹤定位的變化
21.1.4後台定位
21.2地理圍欄
21.2.1設定地理圍欄
21.2.2監聽地理圍欄通知
第22章C#與C++混合編程
22.1C++/CX語法
22.1.1命名空間
22.1.2基本的類型
22.1.3類和結構
22.1.4對象和引用計數
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的數組的互相轉換
22.3.4在Windows運行時組件中使用標準C++
第23章異步任務
23.1基於任務的異步模式
23.1.1任務類概述
23.1.2async和await關鍵字
23.1.3任務狀態
23.2任務異步編程
23.2.1創建Task任務
23.2.2監視異步處理進度
23.2.3任務並行協作
開發實例篇
第24章套用實戰: Bing線上壁紙
24.1套用實現的功能
24.2獲取Bing壁紙的網路接口
24.3壁紙請求服務的封裝
24.4套用首頁的設計和實現
24.5手機和平板不同解析度的適配
24.6壁紙列表詳情和操作的實現
第25章套用實戰: 記賬本
25.1記賬本簡介
25.2對象序列化存儲
25.3記賬本首頁磁貼設計
25.4添加一筆收入和支出
25.5月報表
25.6年報表
25.7查詢記錄
25.8分類圖表