成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Windows Phone 7文件下載進(jìn)度和速度顯示

移動(dòng)開(kāi)發(fā)
用http協(xié)議來(lái)下載網(wǎng)絡(luò)上的文件,通常我們需要獲取文件文件的下載進(jìn)度和下載的速度來(lái)給用戶等待過(guò)程的一個(gè)交代,那么在Windows Phone 7下可以使用WebClient類(lèi)來(lái)實(shí)現(xiàn)這一功能。

用http協(xié)議來(lái)下載網(wǎng)絡(luò)上的文件,通常我們需要獲取文件文件的下載進(jìn)度和下載的速度來(lái)給用戶等待過(guò)程的一個(gè)交代,那么在Windows Phone 7下可以使用WebClient類(lèi)來(lái)實(shí)現(xiàn)這一功能,HttpWebRequest類(lèi)也可以用于下載網(wǎng)絡(luò)上的文件,不過(guò)HttpWebRequest類(lèi)不能夠直接地獲取你http請(qǐng)求的完成情況。

使用WebClient.DownloadProgressChanged事件來(lái)異步獲取http協(xié)議下載文件的進(jìn)度情況,使用WebClient.DownloadStringCompleted事件來(lái)判斷文件的下載是否完成。

  1. <phone:PhoneApplicationPage   
  2.     x:Class="DownLoadTest.MainPage" 
  3.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  4.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  5.     xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
  6.     xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" 
  7.     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
  8.     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  9.     mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768" 
  10.     FontFamily="{StaticResource PhoneFontFamilyNormal}" 
  11.     FontSize="{StaticResource PhoneFontSizeNormal}" 
  12.     Foreground="{StaticResource PhoneForegroundBrush}" 
  13.     SupportedOrientations="Portrait" Orientation="Portrait" 
  14.     shell:SystemTray.IsVisible="True"> 
  15.  
  16.     <Grid x:Name="LayoutRoot" Background="Transparent"> 
  17.         <Grid.RowDefinitions> 
  18.             <RowDefinition Height="Auto"/> 
  19.             <RowDefinition Height="*"/> 
  20.         </Grid.RowDefinitions> 
  21.           
  22.         <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> 
  23.             <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/> 
  24.             <TextBlock x:Name="PageTitle" Text="下載進(jìn)度顯示" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> 
  25.         </StackPanel> 
  26.  
  27.         <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
  28.             <Grid.RowDefinitions> 
  29.                 <RowDefinition Height="114*"/> 
  30.                 <RowDefinition Height="493*"/> 
  31.             </Grid.RowDefinitions> 
  32.             <ProgressBar Foreground="Green" Height="30" HorizontalAlignment="Left" Margin="9,79,0,0" Name="progressBar1" VerticalAlignment="Top" Width="377" Value="0" Maximum="100" FontSize="72" BorderThickness="0"/> 
  33.             <TextBlock Height="53" Margin="12,20,-16,0" Name="textBox1" Text="正在下載文件 . . ." VerticalAlignment="Top" Width="460"/> 
  34.             <TextBlock Margin="6,24,287,427" Name="result" Text="下載的速度:  " Grid.Row="1"/> 
  35.             <TextBlock  Foreground="White" Height="59" HorizontalAlignment="Left" Margin="203,13,0,0" Name="textBox2" Text=""  VerticalAlignment="Top" Width="123"/> 
  36.             <Button Content="測(cè)試下載" Height="72" HorizontalAlignment="Left" Margin="96,244,0,0" Name="button1" VerticalAlignment="Top" Width="199" Click="button1_Click" Grid.Row="1"/> 
  37.             <TextBlock Height="59"  Margin="2,101,254,0" Name="finalresult" Text="平均的下載速度:  " VerticalAlignment="Top" Grid.Row="1"/> 
  38.             <TextBlock Height="57" HorizontalAlignment="Left" Margin="174,89,0,0" Name="textBlock1" Text="" VerticalAlignment="Top" Width="156" Grid.Row="1"/> 
  39.             <TextBlock Height="47" HorizontalAlignment="Left" Margin="12,166,0,0" Name="textBlock2" Text="文件的大小:" VerticalAlignment="Top" Width="127" Grid.Row="1"/> 
  40.             <TextBlock Height="47" HorizontalAlignment="Right" Margin="0,166,190,0" Name="textBlock3" Text="" VerticalAlignment="Top" Grid.Row="1" Width="121"/> 
  41.             <TextBlock Height="47" HorizontalAlignment="Right" Margin="0,19,190,0" Name="textBlock4" Text="" VerticalAlignment="Top" Grid.Row="1" Width="134"/> 
  42.         </Grid> 
  43.     </Grid> 
  44. </phone:PhoneApplicationPage> 

 

 

  1. using System;  
  2. using System.Net;  
  3. using System.Windows;  
  4. using Microsoft.Phone.Controls;  
  5. using System.Diagnostics;  
  6.  
  7. namespace DownLoadTest  
  8. {  
  9.     public partial class MainPage : PhoneApplicationPage  
  10.     {  
  11.         private long siz;  
  12.         private long speed;  
  13.         private Stopwatch sw;  
  14.         private Stopwatch sw1;  
  15.  
  16.         public MainPage()  
  17.         {  
  18.             InitializeComponent();  
  19.         }  
  20.  
  21.         private void button1_Click(object sender, RoutedEventArgs e)  
  22.         {  
  23.             testspeed();  
  24.         }  
  25.  
  26.         public void testspeed()  
  27.         {  
  28.             WebClient client = new WebClient();  
  29.             progressBar1.Value = 0.0;  
  30.             textBox2.Text = "0 %";  
  31.             client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(this.webClient_DownloadStringCompleted);  
  32.             client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(this.webClient_DownloadProgressChanged);  
  33.             sw = Stopwatch.StartNew();//用來(lái)記錄總的下載時(shí)間  
  34.             sw1 = Stopwatch.StartNew();//用來(lái)記錄下載過(guò)程中的時(shí)間片,用于計(jì)算臨時(shí)速度  
  35.             client.DownloadStringAsync(new Uri("http://dl_dir.qq.com/qqfile/qq/QQ2011/QQ2011.exe"));  
  36.         }  
  37.         //下載過(guò)程事件  
  38.         public void webClient_DownloadProgressChanged(object s, DownloadProgressChangedEventArgs e)  
  39.         {  
  40.             textBox2.Text = e.ProgressPercentage.ToString() + " %";  
  41.             sw1.Stop();  
  42.             long num = e.BytesReceived / 1024;  
  43.             if (sw1.Elapsed.Seconds != 0)  
  44.             {  
  45.                 speed = num / ((long)sw1.Elapsed.Seconds);  
  46.             }  
  47.             textBlock4.Text = this.speed + " KB/sec";  
  48.             progressBar1.Value = e.ProgressPercentage;  
  49.             siz = e.TotalBytesToReceive;  
  50.             textBlock3.Text = siz + "KB";  
  51.             sw1.Start();  
  52.         }  
  53.         //下載完成事件  
  54.         public void webClient_DownloadStringCompleted(object s, DownloadStringCompletedEventArgs e)  
  55.         {  
  56.             sw.Stop();  
  57.             sizsiz = siz/1024;  
  58.             long num = siz / ((long)sw.Elapsed.Seconds);  
  59.             sw.Reset();  
  60.             textBox1.Text = "下載完成!";  
  61.             textBlock1.Text = num + " KBytes/sec";  
  62.         }  
  63.     }  

 

實(shí)例截圖

原文鏈接:http://www.cnblogs.com/linzheng/archive/2011/11/03/2234971.html

責(zé)任編輯:王曉東 來(lái)源: cnblogs
相關(guān)推薦

2009-01-11 09:52:14

Windows 7微軟補(bǔ)丁

2011-08-30 09:05:18

Windows PhoWP7穩(wěn)定

2011-07-12 09:20:32

Windows 8Windows Pho

2011-02-15 09:49:31

Windows 7文件訪問(wèn)

2010-08-02 14:47:51

Windows PhoWindows PhoWindows Pho

2009-12-01 09:23:57

Windows 7文件共享

2010-11-26 16:00:08

Windows Pho

2013-07-30 11:18:37

Windows PhoWindows Pho

2009-08-06 08:42:42

Windows 7文件管理員權(quán)限

2011-08-09 18:20:52

windows7文件夾

2010-03-19 08:45:20

Windows Pho

2010-05-05 13:16:02

Windows PhoWindows CE

2011-04-19 09:49:31

市場(chǎng)份額webOSWindows Pho

2011-04-01 13:20:40

Windows Pho應(yīng)用程序

2013-06-21 10:48:18

WP7Windows Pho中英文互翻譯

2010-11-04 18:11:35

UI設(shè)計(jì)SilverlightWindows Pho

2011-06-08 09:43:15

Windows Pho

2010-10-25 14:07:55

Windows Pho

2012-08-16 10:35:50

Windows Pho

2010-12-01 13:40:13

樞軸控件Windows Pho
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 91精品国产综合久久久久久 | 欧洲高清转码区一二区 | 亚洲欧美中文日韩在线v日本 | 久久免费国产 | 国产成人免费视频 | 美女天天操 | 色婷婷国产精品综合在线观看 | 亚洲精品在线观看网站 | 久久久久九九九女人毛片 | 色爱区综合 | 欧美性极品xxxx做受 | 国产精品久久久久一区二区三区 | 久久不卡 | 精品久久久久国产 | 91一区二区三区在线观看 | 日韩中文字幕视频在线 | 涩涩视频网站在线观看 | 超碰91在线 | 天天天操天天天干 | 一级黄色日本片 | 在线看一区二区三区 | 精品国产第一区二区三区 | 91精品国产91久久综合桃花 | 成人性视频免费网站 | 欧美午夜精品理论片a级按摩 | 国产一级久久久久 | 一级中国毛片 | 亚洲第一视频网 | 久久精品视频在线观看 | 免费黄色片在线观看 | 1级毛片| 久草视频观看 | 欧美高清成人 | 欧美一区二区三区一在线观看 | 欧美影院| 一区二区福利视频 | 国产日韩精品一区二区 | 免费在线观看成人av | 日韩中文字幕一区二区 | 天堂在线中文 | 国产精品视频在 |