快速构建Windows 8风格应用15-ShareContract构建
生活随笔
收集整理的這篇文章主要介紹了
快速构建Windows 8风格应用15-ShareContract构建
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本篇博文主要介紹共享數據包、如何構建共享源、如何構建共享目標、DataTransferManager類。
共享數據包 DataPackage(數據包)是共享數據標準。 共享數據格式可以是多種的,包括文本、URI、HTML、圖像等,以及更多可擴展的格式。 我們可以通過以下方法設置需要的分享數據類型: 1)?SetText():設置共享文本,例如: 可以實現效果: 2)?SetUri():設置共享Uri; 3)?SetHtmlFormat():設置共享Html; 4)?SetBitmap():設置共享位圖,例如: 可以實現效果: 5)?SetRtf():設置共享富文本; 6)?SetData():設置共享數據; 7)?SetStorageItems():設置共享文件或文件夾; 具體使用這些方法的示例代碼如下: 示例代碼地址:http://code.msdn.microsoft.com/windowsapps/Sharing-Content-Source-App-d9bffd84 如何構建共享源 首先作為共享源應用需要考慮的事情有哪些呢? 1)?偵聽和處理要參與的共享事件; 2)?內容可以由兩種方式共享:隱式[用戶沒有選擇內容就選擇“共享”]和顯示[用戶在應用中選擇內容后選擇“共享”]; 3)?構建Data Package(數據包)以獲得最佳結果; 那么如何在自己應用程序中構建共享源呢? 第一步: 需要在應用想要共享數據的頁面代碼中注冊DataTransferManager類的DataRequested事件,該事件當用戶劃出Charms(超級按鈕),并選擇共享(Share Contract)時觸發。 第二步: 在OnDataRequested函數中,編寫應用程序要共享的數據包。 代碼中首先需要通過args.Request獲取到當前窗體請求共享對象,然后設置request對象的Data類的相關屬性,就可以進行共享文本、圖片等信息了。其中Data.Properties.Thumbnail可以設置數據包的縮略圖。 通過以上步驟,我們就可以實現數據的共享了,可以在共享面板中看到要共享的數據包信息了。效果如圖: 第三步: 共享完成之后,我們需要在當前操作頁面中將DataRequested事件注銷掉,以免耗費系統更多資源。 如何構建共享目標 通常情況下社交類、及時通訊類、云端存儲類、打印設備類等應用適用成為共享目標應用。若我們應用程序接受來自其他應用提供的共享數據,那么我們的應用程序就成為了共享目標程序。 應用程序成為共享目標,可以增加應用或服務的使用率,并使服務擁有與用戶相關的最新內容。 作為共享目標應用需要考慮哪些事情呢? 1)?注冊為共享目標,指定接受的格式; 2)?構建共享用戶界面,使其成為共享體驗的一部分,包括:[在應用中共享的人員或位置選擇]和[快速的輕量級體驗]; 3)?使用DataPackage,提取最適合共享的數據; 4)?共享完成后,最好提示用戶共享成功,并且用戶最好能夠實現在共享的過程中看到共享進度或者取消共享的操作; 5)?返回一個Quicklink(快速鏈接),例如分享到的地方; 那么我們如何構建共享目標呢? 第一步: 打開我們應用程序的應用清單文件,將應用程序聲明為Share Target,并設置能夠接受數據包中數據格式。 第二步: App.xaml.cs文件中重寫OnShareTargetActivated方法,這樣就能接收到系統調用的請求。 OnShareTargetActivated方法中當應用作為共享目標激活時,導航到應用程序共享目標頁面(示例中導航到了MainPage頁面)。 第三步: 共享目標頁面中解析共享的數據包信息。 代碼中首先將e.Parameter強制轉換為ShareOperation類,然后通過shareOperation對象可以獲取到數據包的屬性,包含的文本、Uri、圖片等其他格式的信息。 返回QuickLink: 剛才我們提到了在獲取打包數據并處理之后,可以返回系統一個QuickLink,代碼可如下: 成功返回QuickLink之后,我們的應用就會作為常用目標出現在共享面板中了。 我們的目標應用也可以在獲取數據包數據的方法中通過shareOperation.QuickLinkId來判斷是否從QuickLink進入目標應用程序,從而根據不同的QuickLinkId做特別的處理。 DataTransferManager類 DataTransferManager類在實現Share Contract時扮演了非常重要的角色,那么它包含哪些重要方法和事件呢? 1)?DataRequested事件:共享操作開始時觸發; 2)?TargetApplicationChosen事件:目標應用被選擇時觸發; 3)?GetForCurrentView方法:獲取與當前窗體相關的DataTransferManager; 4)?ShowShareUI方法:顯示共享面板;轉載于:https://blog.51cto.com/wzk89/1017700
總結
以上是生活随笔為你收集整理的快速构建Windows 8风格应用15-ShareContract构建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么头部移植短期内无法实现?阅读答案
- 下一篇: java 科学计算法