Mais conteúdo relacionado Semelhante a 初探 Windows 市集 App 開發 (20) 初探 Windows 市集 App 開發10. WINDOWS PHONE 的 XAML 框架
XAML Silverlight
WP
Silverlight
8.0
WinRT APIs
XAML 8.1
WinRT APIs
WP
Silverlight
8.1
WinRT APIs
11. SILVERLIGHT 8.1
涵蓋了將近 90% 的 WinRT API
Silverlight 獨佔功能:
鏡頭支援 (Lenses Support)
VOIP支援 (VOIP Support)
相機拍照工作 (Camera Capture Task)
剪貼簿相關API (Clipboard APIs)
鎖定畫面桌面API (Lock Screen Wallpaper API)
鈴聲/鬧鐘/提醒音效 (Ringtone Provider / Alarm & Reminders)
簡單音效 (Simple Sound effects - XNA)
鎖定畫面下執行 (Run Under Lock Screen)
相片擴充功能 (Photos Extensibility)
搜尋附加功能 (Search Extras)
12. SILVERLIGHT 8.1 的新功能
Storage SD Card Data Enhancements (Data.XML)
Device Discovery (Devices.Enumeration) Graphics Enhancements D2D/Dwrite (Win32)
Streams (Input/Output/RandomAccess…) Sensors (Accelerometer, Light, compass, gyro, magnet, orientation,…)
Media Editing (MediaStreamSource, MediaProperties) Email with Attachments
Media Transcoding Data: Backup/Restore
Graphics Enhancements WIC Data: Roaming
Share Source Networking (HTTP, Connectivity, ...)
Share Target (Provider) Audio Effects
RFComm Media Capture
App 2 App Single Sign On Bluetooth 4.0 (Low Energy)
Background Tasks Web Authentication
Password Credentials Storage Enhancements (FileIO, PathIO, AccessCache, Compression)
WNS Push Notification Trigger Social RT
WNS Notifications (Badge/Tile/Toast/Notification
Center) Storage (Picker Provider, Provider)
InputPane MSA (Windows.Security.Authentication.OnlineId )
GeoFencing AtomPub, Http, Syndication (Windows.Web)
NFC Secure Payment Media Foundations (win32)
Known Folders (Audio/Video/Photos/…) Advertising ID
Appointments/Calendar API enhancements Accessibility (UIA, Large Text, High Contrast)
Appointments/Calendar brokered UI Precise Caret Placement - No APIs
Background Transfer
13. 升級到 SILVERLIGHT 8.1
以 Siverlight 8.0 開發的 App 仍然可以在 Windows Phone
8.1 裝置上執行
Binary 100% 相容
由 Silverlight 8.0 升級到 Silverlight 8.1 -> 可能會失敗
原始碼不一定 100% 相容
14. SILVERLIGHT 8.1 改了什麼?
CLR / Silverlight Bug 修正
App 行為調整
Fast App Resume (FAR) 預設為開啟
按下 Back 鈕會和 8.0 一樣把 App 終止掉
15. 升級到 SILVERLIGHT 8.1 之後...
測試、測試、測試!!
就算程式碼看起來無痛轉換,也可以順利開啟,但並不代表執行
過程中不會踩到隱藏的地雷。
你的 App 有使用到背景工作嗎?
Silverlight 8.1不再支援背景持續執行工作,而且所能佔用的
CPU時間也降低了。
確保 App 支援各種不同的解析度
ScreenResolution 設定在 Silverlight 8.1 中已經被移除了。
16. 升級到 SILVERLIGHT 8.1 之後... (續)
Application Bar 的尺寸不再是固定值了。
Application Bar 的大小將會隨著裝置的解析度而有所差異。
Silverlight 8.1 不再支援透過 XNA 繪製的功能
如果要在 App 中檢查記憶體使用量?
可以透過
Windows.System.MemoryManager.AppMemoryUsage 屬性
來取得記憶體使用量。
18. 與 WINDOWS 8 一致的分享功能
透過 ShareContract / ShareTarget實作分享功能:
Atinstallation,registers
asShareTargetthrough
manifestdeclaration
ShareTarget AppShare BrokerSource App
19. 與 WINDOWS 8 一致的分享功能
透過 ShareContract / ShareTarget實作分享功能
DEMO
20. 已經實作了 ShareTarget 的 App 不應該再去呼叫
ShareStatusTask、ShareLinkTask 與 ShareMediaTask 三個
API 的相關功能,否則可能會造成 App 閃退。
實作 SHARETARGET 的注意事項
24. WP 8.1 的動態磚樣版
基本上,Windows Phone 8.1 可用的動態磚樣版和 Windows 8.1
可用的動態磚樣版是大致相同的,但是:
Windows Phone 8.1 不支援 310 x 310 的動態磚。
有部份的樣版為 Windows Phone 8.1 獨佔,Windows 8.1 並不支
援。
Windows Phone 允許您使用各種樣版,但是基於可顯示尺寸的關
係,某些樣版或是部份內容可能會無法顯示。
28. WP 8.1 的多工模式
一旦 App 不再顯示在畫面上,它就會進入暫停狀態。
App 進入暫停狀態後,還是可以透過下列方式提供訊息:
動態磚 或 通知訊息
排程通知 與 提醒
作業系統提供的各種工作
背景工作 及 代理程式
29. WP 8.1 常見的背景工作分類
排程性工作 (Scheduled Task)
PeriodicTask、ResourceIntensiveTask
背景傳輸服務 (Background Transfer Service)
背景定位 (Background Location Tracking)
VOIP和聲音代理 (VOIP and Audio Agents)
30. WP 8.1 的背景工作運作方式
每個背景工作都會由另一個程序所承載。
每個工作可以擁有一個觸發器,而一個觸發器則可以擁有多個觸發
狀態。
App 必需要向使用者取得授權才得以執行背景工作。
背景工作所能使用的資源仍然是受限的。
34. 開發 APP 時常常遇到的問題
存取不同的儲存區需要使用不同的 API
使用者資料儲存區的存取權是受限的
建立跨裝置的一致體驗是很困難的一件事
有價值的資料被困在舊裝置裡
35. STORAGEFILE 與 STORAGEFOLDER
可以透過下列類型的動作來存取大部份的檔案內容:
Local files/folders
File activation
Media libraries
Share contract
Pickers
不同的檔案類型可以取出不同的 metadata
幾乎所有的 WinRT API 都可以支援
36. APP DATA MODEL
Roaming
Folder
• 資料會在不同的Windows 設備間漫游
• 主要的本地端儲存空間 • 暫時的儲存空間
• 當空間不足時會被清除
• 不會被備份
• 不會被清除
• 只有手機支援
Settings
Local
Folder Settings
Local Cache
Folder Settings
Temp
Folder
38. ROAMING
PhoneApp – PFN 12345
Roaming Local Temp
WindowsApp – PFN 12345
RoamingLocalTemp
PFN 12345
Roaming
App 透過標準的檔案/設定 API 寫入資料
同步引擎會依照Trigger (使用
者閒置、電力、網路等等因素)
週期性的傳送資料
OneDrive 允許每個 App 最多
可以儲存 100kb 的資料 (不包
含在使用者的資料容量限額內),
如果達到限額,則同步會自動
停止。
其他客戶端被通知該透過WNS
更新資料。如果App正在執行
中,則會引發事件。
Local
Cache
40. ROAMING BEST PRACTICES
Use roaming for settings and small state
Stick to core WinRT types
Avoid dependencies across files/settings
Be resilient against sync delays
“High priority” settings are not recognized on the phone
Use Windows.Security.Credentials for secure data