当前位置: 首页 > news >正文

邯郸网站建设公司电商网站开发的职责

邯郸网站建设公司,电商网站开发的职责,百度怎么做网站广告,成都效果图公司有哪些文章目录 背景介绍方案及代码1、新建MAUI项目2、建立NSUrlSession会话连接3、使用NSUrlSessionDownloadTask 创建下载任务4、DidWriteData 监听下载5、DidFinishDownloading 完成下载6、CancelDownload (取消/暂停)下载7、ResumeDownload 恢复下载8、杀死进程-恢复下载 效果图总… 文章目录 背景介绍方案及代码1、新建MAUI项目2、建立NSUrlSession会话连接3、使用NSUrlSessionDownloadTask 创建下载任务4、DidWriteData 监听下载5、DidFinishDownloading 完成下载6、CancelDownload (取消/暂停)下载7、ResumeDownload 恢复下载8、杀死进程-恢复下载 效果图总结 背景 最近在MAUI项目中碰到了大文件下载方面的需求要求可以实现显示下载进度、暂停、继续下载等在开发过程中也是碰到了不少问题所以在此简单分享使用MAUI在IOS上完成下载功能的经验也希望大家少踩坑。文章中如有不妥的地方也请多多指教。 介绍 NSURLSession 是 iOS 中用于处理网络请求和数据下载的核心类之一。它提供了强大的功能使应用程序能够与远程服务器通信、下载文件、上传数据等。 本文我们借助NSUrlSession 中的NSUrlSessionDownloadTask来创建下载任务。 下载任务直接将服务器的响应数据写入临时文件在数据从服务器到达时为应用提供进度更新。 在后台会话中使用下载任务时即使应用处于挂起状态或未运行这些下载也会继续。 可以暂停取消下载任务稍后再恢复它们需要服务端支持还可以恢复由于网络连接问题而失败的下载 此方法内部实现了一边下载一边将下载数据写入沙盒的操作下载完成后会自动删除沙盒中的文件所以我们需要在回调DidFinishDownloading中将文件移动至其他位置进行保存。 方案及代码 1、新建MAUI项目 2、建立NSUrlSession会话连接 这里我们使用的网路连接类为NSUrlSession它提供了一个用于发出网络请求和处理异步网络任务的 API并且它支持后台传输。在初始化NSUrlSession之前我们需要先创建NSUrlSessionConfiguration它是NSUrlSession中的一个重要的配置NSUrlSessionConfiguration 有三种模式 DefaultSessionConfiguration默认模式BackgroundSessionConfiguration 后台模式 后台模式允许你创建一个后台会话该会话可以在应用程序处于后台或挂起状态时继续进行网络请求。你需要提供一个唯一的标识符identifier以便在应用程序重新启动时恢复会话。EphemeralSessionConfiguration瞬时模式 创建一个临时会话它在请求结束后不会持久化任何数据包括缓存和存储的凭据。适用于需要临时性的、不需要持久化数据的请求例如临时登录或隐私敏感的请求。 我们先在项目中新建IOSDownloadManagerService.cs然后继承于Microsoft.iOS 中的NSUrlSessionDownloadDelegate方法然后建立NSUrlSession会话连接 这里我们使用BackgroundSessionConfiguration 模式创建后台下载任务。 注意无论下载多少文件我们只需要初始化一个URLSession 3、使用NSUrlSessionDownloadTask 创建下载任务 这里我们使用 NSUrlSessionDownloadTask来实现下载资源会下载到一个临时文件下载完成需将文件移动至想要的路径系统会删除临时路径文件。 4、DidWriteData 监听下载 开始下载后我们可以通过 重写 DidWriteData 方法来获取当前正在下载的文件信息包括 当前的session会话、当前的下载任务NSURLSessionDownloadTask、本次传递过来的数据量、目前为止下载了多少的数据等。 我们通过这些信息来计算当前下载速度下载进度等。 打印下载进度监听日志 5、DidFinishDownloading 完成下载 下载完成后会触发DidFinishDownloading事件 通过重写DidFinishDownloading来监听下载完成事件将文件移动到自己想保存的路径下。 到这里我们就完成一个基础的文件下载功能。当然一个完整的下载管理功能我们还需要具备暂停下载、恢复下载、后台下载、杀死进程后恢复下载等功能的支持。 6、CancelDownload (取消/暂停)下载 我们可以通过NSUrlSessionDownloadTask的Cancel方法来暂停或取消下载任务Cancel方法会回调一个NSData格式断点数据给我们然后我们可以将断点数据保存起来用于后续恢复下载。 在此之前我们需要调整 StartDownload 方法将文件下载任务NSUrlSessionDownloadTask 存起来用户后续恢复下载。 CancelDownload 暂停/取消下载 注意仅满足以下条件时才能恢复下载 1、首次请求资源以来资源未发生更改 2、任务是 HTTP 或 HTTPS 请求GET 3、服务器在其响应中提供 or 头或者同时提供 ETagLast-Modified 4、服务器支持字节范围请求 5、系统尚未删除临时文件 7、ResumeDownload 恢复下载 这里我们利用 NSUrlSession 的 CreateDownloadTask(NSData resumeData) 方法根据 断点数据 创建一个新的下载任务以便从之前中断的位置继续下载。 8、杀死进程-恢复下载 这里我们使用 DidCompleteWithError 方法来监听载任务错误事件包括杀死进程 当我们的正在执行下载任务的应用程序被异常杀掉进程后重新启动后会进入DidCompleteWithError方法所以我们要想恢复下载就需要先获取下载任务的断点数据这一点我们可以利用本地存储提前将断点数据存入到本地文件中。 Maui.Essentials DidCompleteWithError 到此基本上大功告成了。 效果图 总结 本文主要介绍了基于IOS下载中的几个关键方法还是主要以介绍思路为主。 为了便于展示文章中的代码示例拆得比较分散大家还是以熟悉主要流程和主要方法为先至于实现方式八仙过海各显神通。 关于NSURLSessionDownloadTask 更多的内容请参考官方文档 https://developer.apple.com/documentation/foundation/nsurlsessiondownloadtask 最后由于文章篇幅有限对于UI部分渲染的部分并没有展示由于数据渲染还是比较简单大家可以基于Blazor实现也可直接使用MAUI ProgressBar等这里就不过多介绍对MAUI与Blazor感兴趣的朋友可自行深入研究。
http://www.sadfv.cn/news/222070/

相关文章:

  • 网站的中英文切换怎么做永康网站建设zjyuxun
  • 国外网站dns改成什么快网站开发设计培训价格
  • 网站开发翻译插件wordpress淘点金
  • 怎么做木马网站品牌设计案例网站
  • 新乡市建设局网站网址导航推广
  • wordpress打开超级慢芜湖做网站优化
  • 免费企业名录网站成都建设网官方网站
  • 湖南省建设安监局官网站翠竹营销网站设计
  • 淘宝加盟网站建设视频直播怎么赚钱的
  • 微盟网站模板网站每年空间域名费用及维护费
  • 使用循环视频做背景的网站wordpress 修改版权
  • 优化图片大小的网站如何将数据库导入网站
  • 广州微网站建设dmz100网络策划是什么
  • 西安做网站的公司wordpress 导航 图片
  • 网站空间如何搬家房屋装修设计图
  • 电商网站建设 平台扬州整站seo
  • 保定市网站销售和设计中国工商业联合会
  • 手机便宜网站建设wordpress文章设置目录
  • 某网站做参考文献的书写wordpress新建留言板
  • 杭州网站建设是什么学编程课对孩子有什么好处
  • 建设网站之前都需要准备什么问题如何在大网站做外链
  • 在一个网站的各虚拟目录中默认文档的文件名要相同短视频推广引流方案
  • 网站建设参考论文凤台县美丽乡村建设网站
  • 响应式 购物网站模板下载头像设计制作器
  • 招聘 网站建设淘宝网页设计尺寸
  • 江苏网站制作网站开发和网络工程师
  • 做博客网站的php代码沈阳网站制作招聘网
  • 企业网站设计seo商洛网络推广公司
  • 高端网站建设的小知识服务器租用多少钱一台
  • 网站后台登陆验证码不对上海注册外贸公司