一种移动终端网络请求方法及系统的制作方法

文档序号:10492252阅读:416来源:国知局
一种移动终端网络请求方法及系统的制作方法
【专利摘要】本发明公开一种移动终端网络请求方法及系统,方法包括:移动终端的网络应用接收到包括网络请求参数信息的网络请求;所述网络应用将所述网络请求发送到包括回调函数的异步任务中,所述异步任务根据所述网络请求参数信息执行所述网络请求下载请求结果数据,将所述请求结果数据通过所述回调函数返回给所述网络应用;所述网络应用对所述回调函数所返回的请求结果数据进行解析得到应用数据。本发明通过异步任务接收网络应用发送的网络请求,由该异步任务统一进行网络访问,从而将网络访问独立出来,避免多个网络应用自行执行网络请求,使得移动终端的网络请求能统一管理,减少混乱,降低出错概率。
【专利说明】
-种移动终端网络请求方法及系统
技术领域
[0001] 本发明设及移动终端领域,尤其设及一种移动终端网络请求方法及系统。
【背景技术】
[0002] 移动终端,特别是智能手机,已经能够很好地进行网络访问。用户通过移动终端上 的各种应用访问网络。对于移动终端来说,由于处理器性能受限,因此,其操作系统,例如安 卓系统(aiKlroid),是用一个主线程来显示绘制可见视图(view),运样任何耗时的网络请求 都要在新的线程中处理,因此在操作系统中任何耗时的请求都需要处理多线程,并通过执 行跨线程操作将网络请求的结果通知主线程,主线程收到请求结果之后还要解析庞杂的字 符串,最终生成用户想要的结果,过程非常复杂,冗余量大。
[0003] 同时,对于一个满是网络请求的应用来说,要处理海量的网络请求,不断生成新的 线程,经常处理跨线程操作,很容易发生应用无响应(application not response,ANR),降 低用户体验满意度。

【发明内容】

[0004] 基于此,有必要针对现有技术在移动终端访问网络过程复杂,容易出错的技术问 题,提供一种移动终端网络请求方法及系统。
[0005] 本发明提供一种移动终端网络请求方法,包括:
[0006] 网络请求接收步骤,包括:移动终端的网络应用接收到包括网络请求参数信息的 网络请求;
[0007] 异步任务下载步骤,包括:所述网络应用将所述网络请求发送到包括回调函数的 异步任务中,所述异步任务根据所述网络请求参数信息执行所述网络请求下载请求结果数 据,将所述请求结果数据通过所述回调函数返回给所述网络应用;
[0008] 网络应用解析步骤,包括:所述网络应用对所述回调函数所返回的请求结果数据 进行解析得到应用数据。
[0009] 进一步的,所述异步任务包括单个工作线程,所述异步任务下载步骤中,所述异步 任务通过所述工作线程执行所述网络请求。
[0010] 更进一步的,所述异步任务还包括用于所述工作线程与移动终端主线程通信的跨 线程处理逻辑,所述主线程用于在所述移动终端屏幕上进行擅染显示;
[0011] 所述网络应用解析步骤,还包括:所述网络应用将所述应用数据发送到所述异步 任务,所述异步任务通过所述工作线程调用所述跨线程处理逻辑将所述应用数据发送到主 线程,由所述主线程在所述移动终端屏幕上擅染显示所述应用数据。
[0012] 再进一步的,所述异步任务下载步骤在所述移动终端的后台执行。
[0013] 再进一步的,所述网络请求参数信息为网络地址信息和内容类型信息。
[0014] 本发明提供一种移动终端网络请求系统,包括:
[0015] 网络请求接收模块,用于:移动终端的网络应用接收到包括网络请求参数信息的 网络请求;
[0016] 异步任务下载模块,用于:所述网络应用将所述网络请求发送到包括回调函数的 异步任务中,所述异步任务根据所述网络请求参数信息执行所述网络请求下载请求结果数 据,将所述请求结果数据通过所述回调函数返回给所述网络应用;
[0017] 网络应用解析模块,用于:所述网络应用对所述回调函数所返回的请求结果数据 进行解析得到应用数据。
[0018] 进一步的,所述异步任务包括单个工作线程,所述异步任务下载模块中,所述异步 任务通过所述工作线程执行所述网络请求。
[0019] 进一步的,所述异步任务还包括用于所述工作线程与移动终端主线程通信的跨线 程处理逻辑,所述主线程用于在所述移动终端屏幕上进行擅染显示;
[0020] 所述网络应用解析模块,还包括:所述网络应用将所述应用数据发送到所述异步 任务,所述异步任务通过所述工作线程调用所述跨线程处理逻辑将所述应用数据发送到主 线程,由所述主线程在所述移动终端屏幕上擅染显示所述应用数据。
[0021] 再进一步的,所述异步任务下载模块在所述移动终端的后台执行。
[0022] 再进一步的,所述网络请求参数信息为网络地址信息和内容类型信息。
[0023] 实施本发明实施例,具有如下有益效果:通过异步任务接收网络应用发送的网络 请求,由该异步任务统一进行网络访问,从而将网络访问独立出来,避免多个网络应用自行 执行网络请求,使得移动终端的网络请求能统一管理,减少混乱,降低出错概率。
【附图说明】
[0024] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 W根据运些附图获得其他的附图。
[0025] 图1为本发明网络请求方法的流程图;
[0026] 图2为图1的最佳实施例流程图;
[0027] 图3为本发明异步任务管理系统的结构示意图;
[0028] 图4为本发明终端的结构框图。
【具体实施方式】
[0029] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0030] 如图1所示为本发明一种移动终端网络请求方法的工作流程图,包括:
[0031] 步骤SlOl,包括:移动终端的网络应用接收到包括网络请求参数信息的网络请求;
[0032] 步骤S102,包括:所述网络应用将所述网络请求发送到包括回调函数的异步任务 中,所述异步任务根据所述网络请求参数信息执行所述网络请求下载请求结果数据,将所 述请求结果数据通过所述回调函数返回给所述网络应用;
[0033] 步骤S103,包括:所述网络应用对所述回调函数所返回的请求结果数据进行解析 得到应用数据。
[0034] 移动终端具有多个应用,其中部分应用需要访问网络,即网络应用。当用户点击网 络应用,并请求通过网络应用访问网络时,网络应用获取到网络请求参数信息,生成网络请 求,并执行步骤S101。步骤SlOl调用异步任务,将网络请求发送给异步任务,该异步任务中 包括有回调函数,回调函数的作用是用于记录请求异步任务的应用,从而在触发回调时,能 通过回调函数向请求该异步任务的应用返回信息。异步任务执行步骤S102完成网络应用所 生成的网络请求,并在得到请求结果数据后通过回调函数返回给调用异步任务的网络应 用。网络应用在步骤S103中对请求结果数据进行解析。
[0035] 本发明通过异步任务接收网络应用发送的网络请求,由该异步任务统一进行网络 访问,从而将网络访问独立出来,避免多个网络应用自行执行网络请求,使得移动终端的网 络请求能统一管理,减少混乱,降低出错概率。同时,由于异步任务是异步执行网络请求,因 此网络应用将网络请求发送给异步任务后,可W执行其他事情,提高效率。
[0036] 在其中一个实施例中,所述异步任务包括单个工作线程,所述步骤S102中,所述异 步任务通过所述工作线程执行所述网络请求。
[0037] 本实施例中,异步任务只包括单个工作线程,通过该工作线程执行网络请求,由于 采用单线程进行网络请求,因此不同的网络应用之间,并不会进行跨线程处理,能进一步避 免网络请求的混乱。
[0038] 在其中一个实施例中,所述异步任务还包括用于所述工作线程与移动终端主线程 通信的跨线程处理逻辑,所述主线程用于在所述移动终端屏幕上进行擅染显示;
[0039] 所述步骤S103,还包括:所述网络应用将所述应用数据发送到所述异步任务,所述 异步任务通过所述工作线程调用所述跨线程处理逻辑将所述应用数据发送到主线程,由所 述主线程在所述移动终端屏幕上擅染显示所述应用数据。
[0040] 区别于现有技术中多个网络应用在应用中自行执行与主线程的跨线程处理逻辑, 本实施例将与移动终端主线程的跨线程处理逻辑独立封装到异步任务中,由异步任务统一 进行跨线程处理逻辑,进一步避免减少跨线程处理的风险,降低出现ANR的概率,提高用户 满意度。
[0041] 在其中一个实施例中,所述步骤S102在所述移动终端的后台执行。
[0042] 本实施例中,异步任务在移动终端的后台执行网络请求,减少对用户的干扰。
[0043] 优选地,所述网络请求参数信息为网络地址信息和内容类型信息。
[0044] 其中,网络地址信息也称统一资源定位器化niform Resource Locator,URL)。
[0045] 如图2所述为本发明最佳实施例的工作流程图,包括:
[0046] 步骤S201,网络应用21生成网络请求;
[0047] 具体的,该网络请求包括网络请求参数信息,在具体实施过程当中,该网络请求参 数信息为网络地址信息也称统一资源定位器化niform Resoure Locator,抓L)和内容类型 f目息;
[0048] 步骤S202,网络应用21实例化异步任务22,并将网络请求传送到异步任务,具体如 下:
[0049] new ThemeSummariesTask(context,cal!back,params).executeOnExecutor (l'hemeSumma;riesl'ask.THREAD_POOL_EXEC UTOR),其中HiemeSummarieshsk为本实施例中 的异步任务;
[0050]步骤S203,异步任务22根据网络请求从服务器24下载网页数据,生成请求结果数 据;
[0051 ]具体的,系统在异步任务的工作线程中在后台执行异步任务的doInBackground方 法,在do InBackground方法内建立网络连接,执行网络请求;
[0052] 执行网络请求,首先根据不同的网络请求内容决定网络请求方法,然后根据ML建 立网络连接,从网络连接中获取网络响应,如果响应正常,那么则解析网络响应;
[0053] 建立网络连接的方法,包括:
[0054] 配置连接超时时间;
[0055] 在网络连接的化tp请求的头中,加入请求参数的内容类型信息(比如JSON或者 XML),例如将JSON格式的请求参数加入到请求体中,JSON格式如下:
[0化6]
[0057]从网络连接中打开输入流,从输入流中获取网络响应信息,即获取从服务器返回 的信息,例如壁纸应用所请求壁纸的描述等,具体的,通过数据下载的分页处理类 化ntityLoader)处理分页请求的抓L,然后通过网络请求工具化ttp化1〔〇11]16(31:;[0]1化;[1)的 请求响应(doRequest)方法将U化请求参数放到网络请求中做相应的网络请求,下载网页数 据,并生成请求结果数据;
[005引步骤S204,异步任务22通过回调函数将请求结果数据发送至网络应用21;
[0059] 步骤S205,网络应用21解析所述请求结果数据,获取所需的数据信息;
[0060] 具体的,通过网络请求结果解析类化ntityParser)解析请求结果数据,获取所需 的应用数据信息;
[0061] 步骤S206,网络应用21将应用数据信息发送给异步任务22;
[0062] 步骤S207,异步任务22调用on化StExecute方法通知界面化ser Interface,UI)主 线程23;
[0063] 步骤S208,主线程显示应用数据信息。
[0064] 如图3所示为本发明一种移动终端网络请求系统,包括:
[0065] 网络请求接收模块301,用于:移动终端的网络应用接收到包括网络请求参数信息 的网络请求;
[0066] 异步任务下载模块302,用于:所述网络应用将所述网络请求发送到包括回调函数 的异步任务中,所述异步任务根据所述网络请求参数信息执行所述网络请求下载请求结果 数据,将所述请求结果数据通过所述回调函数返回给所述网络应用;
[0067] 网络应用解析模块303,用于:所述网络应用对所述回调函数所返回的请求结果数 据进行解析得到应用数据。
[0068] 在其中一个实施例中,所述异步任务包括单个工作线程,所述异步任务下载模块 中,所述异步任务通过所述工作线程执行所述网络请求。
[0069] 在其中一个实施例中,所述异步任务还包括用于所述工作线程与移动终端主线程 通信的跨线程处理逻辑,所述主线程用于在所述移动终端屏幕上进行擅染显示;
[0070] 所述网络应用解析模块,还包括:所述网络应用将所述应用数据发送到所述异步 任务,所述异步任务通过所述工作线程调用所述跨线程处理逻辑将所述应用数据发送到主 线程,由所述主线程在所述移动终端屏幕上擅染显示所述应用数据。
[0071] 在其中一个实施例中,所述异步任务下载模块在所述移动终端的后台执行。
[0072] 在其中一个实施例中,所述网络请求参数信息为网络地址信息和内容类型信息。
[0073] 如图4所示为本发明终端的结构框图,其主要包括:处理器401、存储器402及通信 组件403等。一般来说,本发明的移动终端优选为智能手机。
[0074] 其中存储器402中存储前述方法的具体代码,由处理器401具体执行,通信组件403 与服务器进行通信。
[0075] W上所掲露的仅为本发明一种较佳实施例而已,当然不能W此来限定本发明之权 利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
[0076] 显然,本领域的技术人员可W对本发明进行各种改动和变型而不脱离本发明的精 神和范围。运样,倘若本发明的运些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含运些改动和变型在内。
【主权项】
1. 一种移动终端网络请求方法,其特征在于,包括: 网络请求接收步骤,包括:移动终端的网络应用接收到包括网络请求参数信息的网络 请求; 异步任务下载步骤,包括:所述网络应用将所述网络请求发送到包括回调函数的异步 任务中,所述异步任务根据所述网络请求参数信息执行所述网络请求下载请求结果数据, 将所述请求结果数据通过所述回调函数返回给所述网络应用; 网络应用解析步骤,包括:所述网络应用对所述回调函数所返回的请求结果数据进行 解析得到应用数据。2. 根据权利要求1所述的移动终端网络请求方法,其特征在于,所述异步任务包括单个 工作线程,所述异步任务下载步骤中,所述异步任务通过所述工作线程执行所述网络请求。3. 根据权利要求2所述的移动终端网络请求方法,其特征在于,所述异步任务还包括用 于所述工作线程与移动终端主线程通信的跨线程处理逻辑,所述主线程用于在所述移动终 端屏幕上进行渲染显示; 所述网络应用解析步骤,还包括:所述网络应用将所述应用数据发送到所述异步任务, 所述异步任务通过所述工作线程调用所述跨线程处理逻辑将所述应用数据发送到主线程, 由所述主线程在所述移动终端屏幕上渲染显示所述应用数据。4. 根据权利要求1-3任一项所述的移动终端网络请求方法,其特征在于,所述异步任务 下载步骤在所述移动终端的后台执行。5. 根据权利要求1-3任一项所述的移动终端网络请求方法,其特征在于,所述网络请求 参数信息为网络地址信息和内容类型信息。6. -种移动终端网络请求系统,其特征在于,包括: 网络请求接收模块,用于:移动终端的网络应用接收到包括网络请求参数信息的网络 请求; 异步任务下载模块,用于:所述网络应用将所述网络请求发送到包括回调函数的异步 任务中,所述异步任务根据所述网络请求参数信息执行所述网络请求下载请求结果数据, 将所述请求结果数据通过所述回调函数返回给所述网络应用; 网络应用解析模块,用于:所述网络应用对所述回调函数所返回的请求结果数据进行 解析得到应用数据。7. 根据权利要求6所述的移动终端网络请求系统,其特征在于,所述异步任务包括单个 工作线程,所述异步任务下载模块中,所述异步任务通过所述工作线程执行所述网络请求。8. 根据权利要求7所述的移动终端网络请求系统,其特征在于,所述异步任务还包括用 于所述工作线程与移动终端主线程通信的跨线程处理逻辑,所述主线程用于在所述移动终 端屏幕上进行渲染显示; 所述网络应用解析模块,还包括:所述网络应用将所述应用数据发送到所述异步任务, 所述异步任务通过所述工作线程调用所述跨线程处理逻辑将所述应用数据发送到主线程, 由所述主线程在所述移动终端屏幕上渲染显示所述应用数据。9. 根据权利要求6-8任一项所述的移动终端网络请求系统,其特征在于,所述异步任务 下载模块在所述移动终端的后台执行。10. 根据权利要求6-8任一项所述的移动终端网络请求系统,其特征在于,所述网络请
【文档编号】H04L29/08GK105847319SQ201610096651
【公开日】2016年8月10日
【申请日】2016年2月22日
【发明人】赵洪涛
【申请人】乐视移动智能信息技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1