数据访问方法和装置的制造方法

文档序号:9911075阅读:861来源:国知局
数据访问方法和装置的制造方法
【技术领域】
[0001]本申请涉及网页技术,特别涉及数据访问方法和装置。
【背景技术】
[0002]混合模式应用(Hybrid App),因兼具原生APP和超文本标记语言(html:hypertext mark-up language)5开发的优势比如开发成本低、易于升级等而得到广泛应用。
[0003]在混合模式应用中,当安卓(Android)客户端需要访问服务器上的业务数据时,Android客户端发送http请求给服务器,服务器收到Android客户端发送的http请求时返回业务数据给Android客户端,当Android客户端收到服务器返回的业务数据时,Android客户端刷新已经完成加载的html5页面以显示从服务器获取的业务数据。
[0004]在上述Android客户端获取业务数据的描述中,http请求是Android客户端通过调用html5页面中的直译式脚本语言(JS: JavaScript)来发送的,这就要求在Android客户端发送http请求前html5页面中的JS已经加载完成。
[0005]也即,当Android客户端需要访问服务器上的业务数据时,如果html5页面中的JS还未加载完成,则Android客户端不发送http请求,而是等待,直至html5页面中的JS加载完成,之后再进行http请求,这会导致Android客户端访问服务器上业务数据的时间比较长、效率比较低。

【发明内容】

[0006]本申请提供了数据访问方法和装置。以加速客户端的业务数据访问,提高业务数据访问效率
[0007]本申请提供的技术方案包括:
[0008]—种数据访问方法,该方法应用于客户端,包括:
[0009]通过配置文件配置http请求参数;
[0010]加载本客户端自带文件夹中的html5页面;
[0011]基于所述http请求参数向服务器发送http请求;
[0012]接收服务器针对所述http请求返回的业务数据;
[0013]在所述html5页面未完成加载时,将接收的业务数据存入本地队列,并在所述html5页面完成加载时,将本地队列中所有业务数据加载至所述html5页面提供给用户。
[0014]—种数据访问装置,该装置应用于客户端,包括:
[0015]配置单元,用于通过配置文件配置http请求参数;
[0016]加载单元,用于加载本客户端自带文件夹中的html5页面;
[0017]发送单元,用于基于所述http请求参数向服务器发送http请求;
[0018]接收单元,用于接收服务器针对所述http请求返回的业务数据;
[0019]处理单元,用于在所述html5页面未完成加载时,将接收的业务数据存入本地队列,并在所述html5页面完成加载时,将本地队列中所有业务数据加载至所述html5页面提供给用户。
[0020]由以上技术方案可以看出,本发明中,http请求的发出和html5页面的加载是相互独立的两个过程,http请求的发出不依赖html5页面中的JS,没有必要限定必须在html5页面加载完成后才能执行http请求,相比现有http请求必须在html5页面加载完成后才能执行,本发明能够提高数据访问速度和效率;
[0021]进一步地,本发明中,当接收到服务器针对http请求返回的业务数据时,如果html5页面还未完成加载,则将接收的业务数据存入队列中,等html5页面加载完成后,将队列中存入的由服务器返回的针对多个http请求返回的多个业务数据一次性地加载至html5页面刷新显示,这一方面体现了 hybrid混合开发应用中的html 5页面开发,可以利用html5页面开发容易升级等优势,又借鉴了本地http请求速度快的特点。
【附图说明】
[0022]图1为本发明提供的方法流程图;
[0023]图2为本发明提供的实施例流程图;
[0024]图3为本发明提供的装置结构示意图。
【具体实施方式】
[0025]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0026]本发明提供的数据访问方法包括图1所示的流程:
[0027]参见图1,图1为本发明提供的方法流程图。该流程应用于客户端比如Android客户端,包括以下步骤:
[0028]步骤101,通过配置文件配置http请求参数。
[0029]作为本发明的一个优选实施例,本步骤101具体为:
[0030]通过可扩展标记语言(XML:Exteile Marku Laguage)配置http请求参数并记录至XML文件中。
[0031]作为一个实施例,http请求参数具体可至少包括:服务器标识、端口、客户端类型、业务参数。
[0032]步骤102,加载本客户端自带文件夹中的html5页面。
[0033]注意,本步骤102中,加载的html5页面是客户端自带文件夹中的,并非是从服务器端请求的。
[0034]步骤103,基于http请求参数向服务器发送http请求。
[0035]在本发明中,XML文件中通过XML配置http请求参数,其目的是触使客户端基于该http请求参数发出http请求,其中,一个http请求参数对应一个http请求。基于此,如果XML文件中存在多个http请求参数,则Androd客户端会发起各个http请求参数对应的http请求。其中,http请求参数对应的http请求至少携带了对应的http请求参数。
[0036]另外,作为本发明的一个实施例,步骤102中的加载本客户端自带文件夹中的html5页面与本步骤103中的基于所述http请求参数向服务器发送对应的http请求是同步执行的。
[0037]从步骤103可以看出,本步骤103中,客户端向服务器发送的http请求是基于配置文件中的http请求参数实现的,并非像现有技术那样,通过调用html5页面中的JS来实现,这就打破了现有客户端必须等待html5页面中的JS已加载完才能发送http请求的缺陷,使得本发明中客户端发送http请求完全不依赖于html5页面中的JS是否已加载完。
[0038]步骤104,接收服务器针对http请求返回的业务数据。
[0039]在步骤104中,当客户端接收到服务器针对http请求返回的业务数据时,html5页面可能未完成加载,针对此种情况,客户端按照如下步骤105对接收的业务数据的进行处理,具体见步骤105。
[0040]步骤105,在html5页面未完成加载时,将接收的业务数据存入本地队列,并在所述html5页面完成加载时,将本地队列中所有业务数据加载至所述html5页面提供给用户。
[0041]这里,将本地队列中所有业务数据加载至所述html5页面提供给用户具体可包括:
[0042]将本地队列中所有业务数据拼接组成JS请求,通过网络视图(webview)加载的方式将所述JS请求加载至所述html5页面以使组成所述JS请求的所有业务数据提供给用户。
[0043]本发明中,作为一个优选实施例,当在如上步骤104中客户端接收到服务器针对http请求返回的业务数据时,html5页面已完成加载,此时,客户端可将接收的业务数据加载至所述html5页面提供给用户。
[0044]这里,客户端将接收的业务数据加载至所述html5页面提供给用户具体为:将接收的业务数据拼接为JS请求并通过webview加载的方式将该JS请求加载至所述html5页面以使组成该JS请求的业务数据提供给用户。
[0045]至此,完成图1所示的流程描述。
[0046]通过图1所示的流程可以看出,在本发明中,http请求的发出不依赖html5页面中的JS,http请求的发出和html5页面的加载是相互独立的两个过程,两者之间没有固定的时间先后顺序,比如http请求和html5页面加载完全可以同步执行,没有必要限定必须在html5页面加载完成后才能执行http请求,相比现有http请求必须在html5页面加载完成后才能执行,本发明能够提高数据访问速度和效率。
[0047]还有,本发明中,当接收到服务器针对所述http请求返回的业务数据时,如果html5页面还未完成加载,则将接收的业务数据存入队列中,等html5页面加载完成后,将队列中存入的由服务器返回的针对多个http请求返回的多个业务数据一次性地加载至html5页面刷新显示,这一方面体现了 hybrid混合开发应用中的html 5页面开发,可以利用html5页面开发容易升级等优势,又借鉴了本地http请求速度快的特点。
[0048]下面通过一个具体实施例对图1所示流程进行描述:
[0049]参见图2,图2为本发明提供的实施例流程图。该流程以应用于Android客户端为例,如图2所示,该流程可包括以下步骤:
[0050]步骤201,采用XML为所有待发的http请求配置对应的http请求参数。
[0051]假如根据应用预估Android客户端可能会发出L个http请求,则就采用XML为这L个http请求分别配置对应的http请求参数。
[0052]下文仅举例描述通过XML为一个http请求对应的http请求参数的实施例,其他http请求对应的http请求参数类似,只不过具体取值会有所不同:
[0053]〈plugin httpRequestId=,,getPageInfo” ServerUrl =,,m.jd.com” port=”8080”needProgressDialog=,,true,,appKey =,,android” appVers 1n=,,4.4.0,,>
[0054]在上述通过XML配置http请求参数的实施例中,http请求参数包含了:
[0055]httpRequestld,代表业务参数,具体为 getPagelnfo;
[0056]ServerUrl,代表服务器标识,具体为服务器的urI主机地址m.jd.com;
[0057]port,代表服务器端口,具体为端口 8080 ;
[0058]needProgressDialog,代表在Androd客户端发出http请求的过程中,在页面需要加载一个进度条;
[0059]appKey,代表Android客户端类型,是android还是或1s,这里是以android为例;
[0060]appVers 1n,代表 Andro id 客户端版本号。
[0061 ] 步骤202,通过webview加载Android客户端自带文件夹中的html5页面。
[0062]步骤203,向服务器发送http请求。
[0
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1