专利名称:一种wince下各应用程序使用统一下载接口的方法
技术领域:
本发明涉及嵌入式产品软件开发领域,特别涉及一种WINCE下各应用程序使用统一下载接口的方法。
背景技术:
现有WINCE各个应用软件的下载功能都是单独调用下载api函数来实现下载功能,每个应用程序都需要重复写各自的下载代码,要维护下载暂停、继续、成功、失败等处理,代码冗余度高,不利于维护。随着互联网的发展和WINCE终端的普及,应用程序对网络的依赖越来越重,又由于每个应用程序的软件间互相独立,都需要编写网络数据下载这段代码,都需要调用一 系列系统接口 函数(如 AfxParseURL, GetHttpConnection, OpenRequest, SendRequest,QuerylnfoStatusCode, Read, Close等等),完成数据下载的功能。另外,由于网络制式的不相同,目前有CDMA,GSM,CDMA2000、WCDMA、TD-SCDMA等网络制式,不同网络制式的WINCE终端连接的模块不一样,数据下载处理也会不一样,为兼容不同模块各应用程序需要不断更新代码来满足需求,维护成本高。如果采用统一的下载接口处理程序,则各个应用程序无需关心WINCE终端采用什么样的网络制式,配置什么样的硬件模块,方便移植和代码复用,方便程序的排错和调试,能提高应用程序的开发效率和程序的稳定性。
发明内容
为了解决现有WINCE应用软件为实现下载需要重复写下载代码的技术问题,本发明提供简洁方便且可扩展性强的WINCE下各应用程序使用统一下载接口的方法。为了实现上述技术目的,本发明的技术方案是,一种WINCE下各应用程序使用统一下载接口的方法,包括以下步骤一种WINCE下各应用程序使用统一下载接口的方法,包括以下步骤步骤A :在后台设立一个用于处理各应用程序下载请求的下载处理模块;步骤B :各应用程序统一将下载请求发送至下载处理模块,下载处理模块处理下载请求,并将处理情况反馈至各应用程序;步骤C :下载处理模块将响应下载请求且下载成功的数据以文件的形式保存在本地目录中,由提出下载请求的应用程序直接处理。所述的方法,步骤A中所述的下载处理模块包括下载请求接收单元、下载单元和下载状态反馈单元。所述的方法,步骤B中下载处理模块通过下载请求接收单元接受各应用程序发送过来的下载请求消息并进行储存,然后对下载请求消息中所包含的数据参数进行解析处理以判断是否为有效下载请求。所述的方法,所述的下载请求接收单元按接收的顺序将下载请求消息以队列的方式进行储存,然后根据先进先出的顺序对队列中的下载请求消息所包含的数据参数进行解析处理。所述的方法,所述的数据参数包括窗口句柄,下载id,url,带路径长文件名四个参数。所述的方法,所述的对数据参数进行解析处理包括
I)检查窗口句柄参数是否大于零,大于零则符合要求,小于等于零则不符合要求;2)检查下载id参数是否大于零且不与已经存在的下载请求中的id重复,大于零且不与已经存在的下载请求中的id重复则符合要求,小于等于零或与已经存在的下载请求中的id重复则则不符合要求;3)检查url参数是否符合RFC2616协议规范要求,符合RFC2616协议规范则符合要求,不符合RFC2616协议规范则不符合要求;4)检查带路径长文件名参数里的路径是否存在,路径存在则符合要求,路径不存在则不符合要求;上述四项检查若其中有至少一项数据参数不符合要求,则下载请求接收单元将此下载请求消息判断为无效的下载请求消息,若四项数据参数均符合要求,则下载请求接收单元将此下载请求消息判断为有效的下载请求消息。所述的方法,下载请求接收单元将判断为有效的下载请求消息发送至下载单元,下载模块根据有效的下载请求消息进行下载数据,然后根据下载情况将下载成功或下载失败的下载状态信息发送至下载状态反馈单元。所述的方法,下载请求接收单元判断为无效的下载请求消息则直接发送无效下载的下载状态消息至下载状态反馈单元。所述的方法,下载状态反馈单元将所接收的下载状态信息反馈至发送下载请求信息的应用程序。本发明的技术效果在于,代码简洁,无需每个应用程序写大量的下载处理代码;可维护性高,若下载处理有变化或添加新功能,只需修改下载中心处理程序。通用性强,只需要简单声明几个宏定义就可以直接使用统一的下载接口。下面结合附图对本发明作进一步说明。
图I为本发明的结构示意图;图2为本发明的处理流程示意图。
具体实施例方式本发明包括以下步骤步骤A :在后台设立一个用于处理各应用程序下载请求的下载处理模块,下载处理模块包括下载请求接收单元、下载单元和下载状态反馈单元。步骤B :各应用程序统一将下载请求发送至下载处理模块,下载处理模块处理下载请求,并将处理情况反馈至各应用程序。具体的处理过程为,下载处理模块通过下载请求接收单元接受各应用程序发送过来的下载请求消息并进行储存,然后对下载请求消息中所包含的数据参数进行解析处理以判断是否为有效下载请求,若先后接收到多个下载请求,则下载请求接收单元按接收的顺序将下载请求消息以队列的方式进行储存,然后根据先进先出的顺序对队列中的下载请求消息所包含的数据参数进行解析处理。数据参数包括窗口句柄,下载id, url,带路径长文件名四个参数,具体的参数解析处理包括I)检查窗口句柄参数是否大于零,大于零则符合要求,小于等于零则不符合要求;2)检查下载id参数是否大于零且不与已经存在的下载请求中的id重复,大于零且不与已经存在的下载请求中的id重复则符合要求,小于等于零或与已经存在的下载请求中的id重复则则不符合要求;3)检查url参数是否符合RFC2616协议规范要求,符合RFC2616协议规范则符合要求,不符合RFC2616协议规范则不符合要求; 4)检查带路径长文件名参数里的路径是否存在,路径存在则符合要求,路径不存在则不符合要求;进行的上述四项检查,若其中有至少一项数据参数不符合要求,则下载请求接收单元将此下载请求消息判断为无效的下载请求消息,若四项数据参数均符合要求,则下载请求接收单元将此下载请求消息判断为有效的下载请求消息。下载请求接收单元将判断为有效的下载请求消息发送至下载单元,下载模块根据有效的下载请求消息进行下载数据,然后根据下载情况将下载成功或下载失败的下载状态信息发送至下载状态反馈单元。下载请求接收单元判断为无效的下载请求消息则直接发送无效下载的下载状态消息至下载状态反馈单元。步骤C :下载处理模块将响应下载请求且下载成功的数据以文件的形式保存在本地目录中,由提出下载请求的应用程序直接处理。在实际使用时,各应用程序只需包含几个宏定义即可调用统一下载接口完成下载。
权利要求
1.一种WINCE下各应用程序使用统一下载接口的方法,其特征在于,包括以下步骤 步骤A :在后台设立一个用于处理各应用程序下载请求的下载处理模块; 步骤B :各应用程序统一将下载请求发送至下载处理模块,下载处理模块处理下载请求,并将处理情况反馈至各应用程序; 步骤C :下载处理模块将响应下载请求且下载成功的数据以文件的形式保存在本地目录中,由提出下载请求的应用程序直接处理。
2.根据权利要求I所述的方法,其特征在于,步骤A中所述的下载处理模块包括下载请求接收单元、下载单元和下载状态反馈单元。
3.根据权利要求2所述的方法,其特征在于,步骤B中下载处理模块通过下载请求接收单元接受各应用程序发送过来的下载请求消息并进行储存,然后对下载请求消息中所包含的数据参数进行解析处理以判断是否为有效下载请求。
4.根据权利要求3所述的方法,其特征在于,所述的下载请求接收单元按接收的顺序将下载请求消息以队列的方式进行储存,然后根据先进先出的顺序对队列中的下载请求消息所包含的数据参数进行解析处理。
5.根据权利要求3或4所述的方法,其特征在于,所述的数据参数包括窗口句柄,下载id, url,带路径长文件名四个参数。
6.根据权利要求3或4所述的方法,其特征在于,所述的对数据参数进行解析处理包括 1)检查窗口句柄参数是否大于零,大于零则符合要求,小于等于零则不符合要求; 2)检查下载id参数是否大于零且不与已经存在的下载请求中的id重复,大于零且不与已经存在的下载请求中的id重复则符合要求,小于等于零或与已经存在的下载请求中的id重复则则不符合要求; 3)检查url参数是否符合RFC2616协议规范要求,符合RFC2616协议规范则符合要求,不符合RFC2616协议规范则不符合要求; 4)检查带路径长文件名参数里的路径是否存在,路径存在则符合要求,路径不存在则不符合要求; 上述四项检查若其中有至少一项数据参数不符合要求,则下载请求接收单元将此下载请求消息判断为无效的下载请求消息,若四项数据参数均符合要求,则下载请求接收单元将此下载请求消息判断为有效的下载请求消息。
7.根据权利要求3或4所述的方法,其特征在于,下载请求接收单元将判断为有效的下载请求消息发送至下载单元,下载模块根据有效的下载请求消息进行下载数据,然后根据下载情况将下载成功或下载失败的下载状态信息发送至下载状态反馈单元。
8.根据权利要求3或4所述的方法,其特征在于,下载请求接收单元判断为无效的下载请求消息则直接发送无效下载的下载状态消息至下载状态反馈单元。
9.根据权利要求7所述的方法,其特征在于,下载状态反馈单元将所接收的下载状态信息反馈至发送下载请求信息的应用程序。
10.根据权利要求8所述的方法,其特征在于,下载状态反馈单元将所接收的下载状态信息反馈至发送下载请求信息的应用程序。
全文摘要
本发明公开了一种WINCE下各应用程序使用统一下载接口的方法,实现一个在后台运行的下载处理模块,接收各个应用程序的下载请求,按照下载队列及优先级来下载数据,并将下载的状态及时反馈给各个应用程序端。各应用程序只需包含几个宏定义即可调用统一下载接口完成下载。本发明的技术效果在于,代码简洁,无需每个应用程序写大量的下载处理代码;可维护性高,若下载处理有变化或添加新功能,只需修改下载中心处理程序。通用性强,应用程序开发人员无需关心具体的数据下载方式和如何实现,只需要简单声明几个宏定义就可以直接使用统一的下载接口。
文档编号H04L29/08GK102724326SQ20121022489
公开日2012年10月10日 申请日期2012年7月2日 优先权日2012年7月2日
发明者刘海明, 王治宇, 胡添喜 申请人:湖南赛格导航技术研究有限公司