- 浏览: 56234 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (93)
- java (3)
- ios (9)
- wp (15)
- android (0)
- js (1)
- 服务器 (0)
- db (0)
- linux (1)
- python (0)
- xcode (0)
- ide (2)
- maven (0)
- spring (0)
- sql (0)
- 第三方 (1)
- nexus (0)
- nginx (11)
- tomcat (0)
- jenkins (0)
- zookeeper (1)
- git (1)
- svn (0)
- uml (0)
- redis (4)
- activemq (1)
- flume (0)
- kafka (0)
- mysql (1)
- memcached (0)
- mybatis (0)
- mac (0)
- mongo (1)
- docker (6)
- cache (0)
- jvm (0)
- markdown (0)
- springboot (24)
- mycat (3)
- LTS (3)
- 运维 (0)
- opts (1)
- netty (1)
- tcc (0)
- ffmpeg (2)
- 直播 (6)
- cxf (0)
- nodejs (0)
- storm (0)
- elasticjob (0)
- php (0)
最新评论
1.TransferPreferences属性设置:
后台传输服务上传最大文件大小为5M
通过手机网络连接最大下载大小为20M,若超过此大小,属性将自动更改为AllowBattery
通过wifi没有外部电源最大下载大小为100M,若超过此大小,属性设置为None
2.每个应用程序队列中未完成的最大请求个数为25个,最大并发数为2个,对大排队传输数位500
3.网络连接数组3G网络低于50kbps,wifi/usb网络低于100kbps会暂停传输并重试
上代码:
MainPage.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using wp8BackgroundTransfer.Resources;
using Microsoft.Phone.BackgroundTransfer;
namespace wp8BackgroundTransfer
{
public partial class MainPage : PhoneApplicationPage
{
// 构造函数
public MainPage()
{
InitializeComponent();
}
BackgroundTransferRequest transferRequest;
private void download_click(object sender, System.Windows.RoutedEventArgs e)
{
if (BackgroundTransferService.Requests.Count() > 25)
{
return;
}
String transferFileName = "http://m.news.cn/version_wp8.txt";
Uri transferUri;
try
{
transferUri = new Uri(Uri.EscapeUriString(transferFileName), UriKind.RelativeOrAbsolute);
}
catch
{
return;
}
transferRequest = new BackgroundTransferRequest(transferUri);
transferRequest.TransferPreferences = TransferPreferences.None;
transferRequest.TransferProgressChanged += new EventHandler<BackgroundTransferEventArgs>(transfer_TransferProgressChanged);
transferRequest.TransferStatusChanged += new EventHandler<BackgroundTransferEventArgs>(transfer_TransferStatusChanged);
transferRequest.Method = "GET";
string downloadFileName = transferFileName.Substring(transferFileName.LastIndexOf("/")+1);
Uri downloadUri = new Uri("shared/transfers/"+ downloadFileName, UriKind.RelativeOrAbsolute);
transferRequest.DownloadLocation = downloadUri;
transferRequest.Tag = downloadFileName;
try
{
BackgroundTransferService.Add(transferRequest);
}
catch
{
return;
}
}
private void cancel_click(object sender, System.Windows.RoutedEventArgs e)
{
if(transferRequest != null)
removeRequest(transferRequest.RequestId);
}
void transfer_TransferProgressChanged(object sender, BackgroundTransferEventArgs e)
{
}
void transfer_TransferStatusChanged(object sender, BackgroundTransferEventArgs e)
{
BackgroundTransferRequest transfer = e.Request;
switch (transfer.TransferStatus)
{
case TransferStatus.Completed:
{
if (transfer.StatusCode == 200 || transfer.StatusCode == 206)
{
removeRequest(transfer.RequestId);
}
else
{
removeRequest(transfer.RequestId);
if (transfer.TransferError != null)
{
System.Diagnostics.Debug.WriteLine("失败:"+transfer.TransferError);
}
}
}
break;
case TransferStatus.WaitingForExternalPower:
{
System.Diagnostics.Debug.WriteLine("电力不足,不能启动");
}
break;
case TransferStatus.WaitingForExternalPowerDueToBatterySaverMode:
{
System.Diagnostics.Debug.WriteLine("省电模式,不能启动");
}
break;
case TransferStatus.WaitingForNonVoiceBlockingNetwork:
{
System.Diagnostics.Debug.WriteLine("等待网络");
}
break;
case TransferStatus.WaitingForWiFi:
{
System.Diagnostics.Debug.WriteLine("等待wifi网络");
}
break;
}
}
void removeRequest(string id)
{
BackgroundTransferRequest request = BackgroundTransferService.Find(id);
if (request != null)
{
BackgroundTransferService.Remove(request);
}
}
}
}
MainPage.xaml
<phone:PhoneApplicationPage
x:Class="wp8BackgroundTransfer.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot 是包含所有页面内容的根网格-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Vertical">
<Button Content="download" Width="300" Height="100" Click="download_click"></Button>
<Button Content="cancel" Width="300" Height="100" Click="cancel_click"></Button>
</StackPanel>
</Grid>
</phone:PhoneApplicationPage>
后台传输服务上传最大文件大小为5M
通过手机网络连接最大下载大小为20M,若超过此大小,属性将自动更改为AllowBattery
通过wifi没有外部电源最大下载大小为100M,若超过此大小,属性设置为None
2.每个应用程序队列中未完成的最大请求个数为25个,最大并发数为2个,对大排队传输数位500
3.网络连接数组3G网络低于50kbps,wifi/usb网络低于100kbps会暂停传输并重试
上代码:
MainPage.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using wp8BackgroundTransfer.Resources;
using Microsoft.Phone.BackgroundTransfer;
namespace wp8BackgroundTransfer
{
public partial class MainPage : PhoneApplicationPage
{
// 构造函数
public MainPage()
{
InitializeComponent();
}
BackgroundTransferRequest transferRequest;
private void download_click(object sender, System.Windows.RoutedEventArgs e)
{
if (BackgroundTransferService.Requests.Count() > 25)
{
return;
}
String transferFileName = "http://m.news.cn/version_wp8.txt";
Uri transferUri;
try
{
transferUri = new Uri(Uri.EscapeUriString(transferFileName), UriKind.RelativeOrAbsolute);
}
catch
{
return;
}
transferRequest = new BackgroundTransferRequest(transferUri);
transferRequest.TransferPreferences = TransferPreferences.None;
transferRequest.TransferProgressChanged += new EventHandler<BackgroundTransferEventArgs>(transfer_TransferProgressChanged);
transferRequest.TransferStatusChanged += new EventHandler<BackgroundTransferEventArgs>(transfer_TransferStatusChanged);
transferRequest.Method = "GET";
string downloadFileName = transferFileName.Substring(transferFileName.LastIndexOf("/")+1);
Uri downloadUri = new Uri("shared/transfers/"+ downloadFileName, UriKind.RelativeOrAbsolute);
transferRequest.DownloadLocation = downloadUri;
transferRequest.Tag = downloadFileName;
try
{
BackgroundTransferService.Add(transferRequest);
}
catch
{
return;
}
}
private void cancel_click(object sender, System.Windows.RoutedEventArgs e)
{
if(transferRequest != null)
removeRequest(transferRequest.RequestId);
}
void transfer_TransferProgressChanged(object sender, BackgroundTransferEventArgs e)
{
}
void transfer_TransferStatusChanged(object sender, BackgroundTransferEventArgs e)
{
BackgroundTransferRequest transfer = e.Request;
switch (transfer.TransferStatus)
{
case TransferStatus.Completed:
{
if (transfer.StatusCode == 200 || transfer.StatusCode == 206)
{
removeRequest(transfer.RequestId);
}
else
{
removeRequest(transfer.RequestId);
if (transfer.TransferError != null)
{
System.Diagnostics.Debug.WriteLine("失败:"+transfer.TransferError);
}
}
}
break;
case TransferStatus.WaitingForExternalPower:
{
System.Diagnostics.Debug.WriteLine("电力不足,不能启动");
}
break;
case TransferStatus.WaitingForExternalPowerDueToBatterySaverMode:
{
System.Diagnostics.Debug.WriteLine("省电模式,不能启动");
}
break;
case TransferStatus.WaitingForNonVoiceBlockingNetwork:
{
System.Diagnostics.Debug.WriteLine("等待网络");
}
break;
case TransferStatus.WaitingForWiFi:
{
System.Diagnostics.Debug.WriteLine("等待wifi网络");
}
break;
}
}
void removeRequest(string id)
{
BackgroundTransferRequest request = BackgroundTransferService.Find(id);
if (request != null)
{
BackgroundTransferService.Remove(request);
}
}
}
}
MainPage.xaml
<phone:PhoneApplicationPage
x:Class="wp8BackgroundTransfer.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot 是包含所有页面内容的根网格-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Vertical">
<Button Content="download" Width="300" Height="100" Click="download_click"></Button>
<Button Content="cancel" Width="300" Height="100" Click="cancel_click"></Button>
</StackPanel>
</Grid>
</phone:PhoneApplicationPage>
发表评论
-
wp win8开发:scrollview滑动动画效果
2017-01-10 17:07 415产品需求,暂别ios开发,着手win8开发。 说说这个scr ... -
wp wp8:自定义Button图片背景
2017-01-10 17:11 294自定义一个返回按钮,以下是我的操作。 内容部分也是在网上 ... -
wp wp8:指定通信资源(端口)已由另一个应用程序使用 错误
2017-01-10 17:06 371测试机器是820t时,一直正常运行,后来改用920t的时候安装 ... -
wp wp8:自定义控件 自定义progressbar
2017-01-11 13:31 313MProgress.cs using System; usi ... -
wp wp8:服务器推送
2017-01-11 13:32 395前提:必须使用真机,真机注册 服务器端使用的是winform ... -
wp wp8:lbs
2017-01-12 10:51 405上码:不解释 using System; using Sys ... -
wp wp8:计划通知
2017-01-10 17:06 376using System; using System.Coll ... -
wp wp8:后台任务
2017-01-10 17:10 355MScheduledTaskAgent项目下 Schedule ... -
wp wp8:页面转换 page transitions
2017-01-12 10:47 494首先导入Toolkit.dll文件 将App.xaml.cs ... -
wp wp8:公共样式定义
2017-02-07 10:12 446在Resources下创建一个名称为buttonStyle.x ... -
wp wp8:自定义dll库创建
2017-01-11 13:28 460鉴于项目测试: 创建一个wp8项目 在解决方案下 右键 操 ... -
wp wp8:sqlite安装
2017-01-12 10:47 428打开vs 检测一下时候安装了sqlite for window ... -
wp wp8:手势GuestureService/GuestureListener
2017-01-12 10:51 5191.利用Silverlight Tookit中提供的手势服务监 ... -
wp wp8&win8:Stretch的Uniform和UniformToFill
2017-01-12 10:51 553Uniform,控件的高度和宽度会增加直到达到了容器的大小,也 ...
相关推荐
WP7开源中国源码 源码描述: 开源中国社区 Windows Phone 客户端项目简析 本项目采用 GPL 授权协议,内容展示有最新动弹,博客,问答,资讯等 欢迎大家在这个基础上进行改进,并与大家分享 页面说明: App/Config....
使用后台下载服务下载 MP4 播放和管理离线 MP4 下载 MP3 在后台播放下载的 MP3 管理离线 MP3 显示账户信息 所需功能: 创建文件夹 移动文件和文件夹 通过浏览器添加传输 重命名文件 限制在试用模式 (TBD) 下...
3、主要有点使用TCP方式,支持多种类型客户端连接,WP系统客户端,C/S客户端,安卓客户端,IOS客户端,B/S客户端,PLC,各种支持TCP微芯片设备。适用于,网络游戏,工业信息采集,智能家庭设备采集,工业设备采集...
3、主要有点使用TCP方式,支持多种类型客户端连接,WP系统客户端,C/S客户端,安卓客户端,IOS客户端,B/S客户端,PLC,各种支持TCP微芯片设备。适用于,网络游戏,工业信息采集,智能家庭设备采集,工业设备采集...
漂亮的SEO网络公司整站使用wp制作,带部分数据,后台及模板很完整。本人收集自网络。亲测完整无错。本程序版权归"原作者"所有,请勿用于商业用途,只为广大爱好者学习使用。请保留本站链接www.59info.com(59分类...
漂亮的SEO网络公司整站源码 v1.0,网站使用wp制作,带部分数据,后台及模板很完整。本人收集自网络。亲测完整无错。本程序版权归"原作者"所有,请勿用于商业用途,只为广大爱好者学习使用。请保留本站链接...
最新仿百度百家模板Wordpress主题源码,采用xhtml标准篡写,科技资讯自媒体网站WP主题,符合seo标准,布局简洁舒心,后台功能非常齐全,并且支持自定义全屏背景大图。 主题特色: 1.可以在后台自定义下拉式的导航...
我的博客启用这个插件后... 减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
目前已接入微信 Android、iOS、Mac、Windows、WP 等客户端。主要包括以下几个部分:COMM:基础库,包括socket、线程、消息队列、协程等基础工具;XLOG:通用日志模块,充分考虑移动终端的特点,提供高性能、高可用、...
商户服务后台生成支付订单,签名后将数据传输到APP端。 步骤2:用户点击后发起支付操作,进入到微信界面,调起微信支付,出现确认支付界面。 步骤3:用户确认收款方和金额,点击立即支付后出现输入密码界面,可选择...
完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎 正式发布表达式计算引擎WfcExp V0.9(附源码) 运算...