Windows Phone 7 Tips (3)

作者: Alexis  來源: 博客園  發布時間: 2011-04-19 10:45  閱讀: 673 次  推薦: 0   原文鏈接   [收藏]  

  1、Windows Phone 7是一個多任務的操作系統,但是只允許唯一一個第三方應用程序在前臺運行。

  2、啟動器和選擇器為應用程序提供間接訪問手機內置功能的方法。

  一些內置的啟動器:EmailComposeTask、MarketplaceDetailTask、MarketplaceHubTask、MarketplaceReviewTask、MarketplaceSearchTask、MediaPlayerLauncher、PhoneCallTask、SearchTask、SmsComposeTask、WebBrowserTask。

  一些內置的選擇器:CameraCaptureTask、EmailAddressChooserTask、PhoneNumberChooserTask、PhotoChooserTask、SaveEmailAddressTask、SavePhoneNumberTask。

  3、當啟動啟動器或者選擇器時,應用程序會進入Deactivate狀態(注意不一定會Tombstone)當Task只寫完畢后,原有應用程序會被重新激活,應用程序會調用Activated事件,頁面會觸發OnNavigationTo事件。

  4、如果Windows Phone 7中的應用程序被Tombstone了,那么再次打開應用程序時,會生成一個新的實例,即會調用App和頁面的構造函數,所以我們的邏輯代碼不要放到構造函數中,而是在Application_Activated、OnNavigationTo事件中寫恢復狀態的代碼。

  5、判斷Windows Phone 7中的網絡是否可用。

 
if (Microsoft.Phone.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) { //網絡可用情況下的代碼 } else { //網絡不可用,給以提示 }

  6、Windows Phone 7中的導航類:PhoneApplicationFrame 和 PhoneApplicationPage . Windows Phone 7中的別名導航支持如下的:

 
<nav:UriMapper x:Key="nav">
<nav:UriMapping Uri="Home" MappedUri="/Pages/Views/Default.xaml"/>
<nav:UriMapping Uri="About-Us" MappedUri="/Pages/Views/Misc/About.xaml"/>
<nav:UriMapping Uri="Page/{number}" MappedUri="/Pages/Views/Books/Page{number}.xaml"/>
<nav:UriMapping Uri="Customers/{id}" MappedUri="/Pages/Views/Data/Page.xaml?action=getCustomer&amp;id={id}"/>
<nav:UriMapping Uri="Products/{id}" MappedUri="/Pages/Views/Data/Page.xaml?action=getProduct&amp;id={id}"/>
<nav:UriMapping Uri="Orders/{type}&amp;{id}&amp;{date}" MappedUri="/Pages/Views/Data/Page.xaml?action={type}&amp;orderId={id}&amp;orderDate={number}"/>
</nav:UriMapper>

  7、WMAppManifest.xml :一個包含了應用程序特定數據的元數據文件,包括標題,圖標位置,功能等等。

  8、頁面導航方案:
  (1)在XAML代碼直接寫XAML文件地址,如:

 
<HyperlinkButton Content="Pasta" NavigateUri="/Pasta.xaml" Height="30" HorizontalAlignment="Left"
Margin="10,10,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="200" />

(2)在XAML代碼中利用別名進行導航,需要在App.xaml中配置。

  (3)利用事件處理,如 NavigationService.Navigate(new Uri("/Pasta.xaml", UriKind.Relative));

  9、各種啟動器的描述:
  EmailComposeTask–允許用戶通過郵件賬戶發送電子郵件。

  MarketplaceDetailTask–啟動Windows Phone Marketplace,讓用戶查看某個特定的產品。

  MarketplaceHubTask–啟動Windows Phone Marketplace,默認情況下允許你顯示某一類別的應用程序。

  MarketplaceReviewTask–將用戶帶到Windows Phone Marketplace中當前程序的評論頁。

  MarketplaceSearchTask–啟動Windows Phone Marketplace的搜索結果,此結果來源于用戶輸入的搜索項(或者是你來制定的)。

  MediaPlayerLauncher–啟動內置的媒體播放器,并播放你指定的媒體文件。

  PhoneCallTask–啟動電話程序并顯示電話號碼和姓名。電話只在用戶點擊“通話”后才會撥出。

  SearchTask– 可以把這個看成是在你的程序中提供Bing搜索功能的途徑。

  SMSComposeTask –啟動信息程序并向用戶展示發送信息的功能。你可以指定信息接收人和信息內容,但只能通過用戶來發送。

  WebBrowserTask–打開網絡瀏覽器,跳轉到指定的URL。
  10、各種選擇器的描述:
  CameraCaptureTask – 為用戶提供在程序中直接拍照的功能。
  EmailAddressChooserTask – 在程序中允許用戶從聯系人里面選擇一個郵件地址。

  PhoneNumberChooserTask – 在程序中允許用戶從聯系人里面選擇一個電話號碼。

  PhotoChooserTask – 在程序中允許用戶從設備里選擇一張照片。

照例,提供離線文件下載 
0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()