亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

數(shù)據(jù)訪問方法和裝置的制造方法

文檔序號(hào):9911075閱讀:882來源:國(guó)知局
數(shù)據(jù)訪問方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及網(wǎng)頁(yè)技術(shù),特別涉及數(shù)據(jù)訪問方法和裝置。
【背景技術(shù)】
[0002]混合模式應(yīng)用(Hybrid App),因兼具原生APP和超文本標(biāo)記語言(html:hypertext mark-up language)5開發(fā)的優(yōu)勢(shì)比如開發(fā)成本低、易于升級(jí)等而得到廣泛應(yīng)用。
[0003]在混合模式應(yīng)用中,當(dāng)安卓(Android)客戶端需要訪問服務(wù)器上的業(yè)務(wù)數(shù)據(jù)時(shí),Android客戶端發(fā)送http請(qǐng)求給服務(wù)器,服務(wù)器收到Android客戶端發(fā)送的http請(qǐng)求時(shí)返回業(yè)務(wù)數(shù)據(jù)給Android客戶端,當(dāng)Android客戶端收到服務(wù)器返回的業(yè)務(wù)數(shù)據(jù)時(shí),Android客戶端刷新已經(jīng)完成加載的html5頁(yè)面以顯示從服務(wù)器獲取的業(yè)務(wù)數(shù)據(jù)。
[0004]在上述Android客戶端獲取業(yè)務(wù)數(shù)據(jù)的描述中,http請(qǐng)求是Android客戶端通過調(diào)用html5頁(yè)面中的直譯式腳本語言(JS: JavaScript)來發(fā)送的,這就要求在Android客戶端發(fā)送http請(qǐng)求前html5頁(yè)面中的JS已經(jīng)加載完成。
[0005]也即,當(dāng)Android客戶端需要訪問服務(wù)器上的業(yè)務(wù)數(shù)據(jù)時(shí),如果html5頁(yè)面中的JS還未加載完成,則Android客戶端不發(fā)送http請(qǐng)求,而是等待,直至html5頁(yè)面中的JS加載完成,之后再進(jìn)行http請(qǐng)求,這會(huì)導(dǎo)致Android客戶端訪問服務(wù)器上業(yè)務(wù)數(shù)據(jù)的時(shí)間比較長(zhǎng)、效率比較低。

【發(fā)明內(nèi)容】

[0006]本申請(qǐng)?zhí)峁┝藬?shù)據(jù)訪問方法和裝置。以加速客戶端的業(yè)務(wù)數(shù)據(jù)訪問,提高業(yè)務(wù)數(shù)據(jù)訪問效率
[0007]本申請(qǐng)?zhí)峁┑募夹g(shù)方案包括:
[0008]—種數(shù)據(jù)訪問方法,該方法應(yīng)用于客戶端,包括:
[0009]通過配置文件配置http請(qǐng)求參數(shù);
[0010]加載本客戶端自帶文件夾中的html5頁(yè)面;
[0011]基于所述http請(qǐng)求參數(shù)向服務(wù)器發(fā)送http請(qǐng)求;
[0012]接收服務(wù)器針對(duì)所述http請(qǐng)求返回的業(yè)務(wù)數(shù)據(jù);
[0013]在所述html5頁(yè)面未完成加載時(shí),將接收的業(yè)務(wù)數(shù)據(jù)存入本地隊(duì)列,并在所述html5頁(yè)面完成加載時(shí),將本地隊(duì)列中所有業(yè)務(wù)數(shù)據(jù)加載至所述html5頁(yè)面提供給用戶。
[0014]—種數(shù)據(jù)訪問裝置,該裝置應(yīng)用于客戶端,包括:
[0015]配置單元,用于通過配置文件配置http請(qǐng)求參數(shù);
[0016]加載單元,用于加載本客戶端自帶文件夾中的html5頁(yè)面;
[0017]發(fā)送單元,用于基于所述http請(qǐng)求參數(shù)向服務(wù)器發(fā)送http請(qǐng)求;
[0018]接收單元,用于接收服務(wù)器針對(duì)所述http請(qǐng)求返回的業(yè)務(wù)數(shù)據(jù);
[0019]處理單元,用于在所述html5頁(yè)面未完成加載時(shí),將接收的業(yè)務(wù)數(shù)據(jù)存入本地隊(duì)列,并在所述html5頁(yè)面完成加載時(shí),將本地隊(duì)列中所有業(yè)務(wù)數(shù)據(jù)加載至所述html5頁(yè)面提供給用戶。
[0020]由以上技術(shù)方案可以看出,本發(fā)明中,http請(qǐng)求的發(fā)出和html5頁(yè)面的加載是相互獨(dú)立的兩個(gè)過程,http請(qǐng)求的發(fā)出不依賴html5頁(yè)面中的JS,沒有必要限定必須在html5頁(yè)面加載完成后才能執(zhí)行http請(qǐng)求,相比現(xiàn)有http請(qǐng)求必須在html5頁(yè)面加載完成后才能執(zhí)行,本發(fā)明能夠提高數(shù)據(jù)訪問速度和效率;
[0021]進(jìn)一步地,本發(fā)明中,當(dāng)接收到服務(wù)器針對(duì)http請(qǐng)求返回的業(yè)務(wù)數(shù)據(jù)時(shí),如果html5頁(yè)面還未完成加載,則將接收的業(yè)務(wù)數(shù)據(jù)存入隊(duì)列中,等html5頁(yè)面加載完成后,將隊(duì)列中存入的由服務(wù)器返回的針對(duì)多個(gè)http請(qǐng)求返回的多個(gè)業(yè)務(wù)數(shù)據(jù)一次性地加載至html5頁(yè)面刷新顯示,這一方面體現(xiàn)了 hybrid混合開發(fā)應(yīng)用中的html 5頁(yè)面開發(fā),可以利用html5頁(yè)面開發(fā)容易升級(jí)等優(yōu)勢(shì),又借鑒了本地http請(qǐng)求速度快的特點(diǎn)。
【附圖說明】
[0022]圖1為本發(fā)明提供的方法流程圖;
[0023]圖2為本發(fā)明提供的實(shí)施例流程圖;
[0024]圖3為本發(fā)明提供的裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0025]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
[0026]本發(fā)明提供的數(shù)據(jù)訪問方法包括圖1所示的流程:
[0027]參見圖1,圖1為本發(fā)明提供的方法流程圖。該流程應(yīng)用于客戶端比如Android客戶端,包括以下步驟:
[0028]步驟101,通過配置文件配置http請(qǐng)求參數(shù)。
[0029]作為本發(fā)明的一個(gè)優(yōu)選實(shí)施例,本步驟101具體為:
[0030]通過可擴(kuò)展標(biāo)記語言(XML:Exteile Marku Laguage)配置http請(qǐng)求參數(shù)并記錄至XML文件中。
[0031]作為一個(gè)實(shí)施例,http請(qǐng)求參數(shù)具體可至少包括:服務(wù)器標(biāo)識(shí)、端口、客戶端類型、業(yè)務(wù)參數(shù)。
[0032]步驟102,加載本客戶端自帶文件夾中的html5頁(yè)面。
[0033]注意,本步驟102中,加載的html5頁(yè)面是客戶端自帶文件夾中的,并非是從服務(wù)器端請(qǐng)求的。
[0034]步驟103,基于http請(qǐng)求參數(shù)向服務(wù)器發(fā)送http請(qǐng)求。
[0035]在本發(fā)明中,XML文件中通過XML配置http請(qǐng)求參數(shù),其目的是觸使客戶端基于該http請(qǐng)求參數(shù)發(fā)出http請(qǐng)求,其中,一個(gè)http請(qǐng)求參數(shù)對(duì)應(yīng)一個(gè)http請(qǐng)求?;诖耍绻鸛ML文件中存在多個(gè)http請(qǐng)求參數(shù),則Androd客戶端會(huì)發(fā)起各個(gè)http請(qǐng)求參數(shù)對(duì)應(yīng)的http請(qǐng)求。其中,http請(qǐng)求參數(shù)對(duì)應(yīng)的http請(qǐng)求至少攜帶了對(duì)應(yīng)的http請(qǐng)求參數(shù)。
[0036]另外,作為本發(fā)明的一個(gè)實(shí)施例,步驟102中的加載本客戶端自帶文件夾中的html5頁(yè)面與本步驟103中的基于所述http請(qǐng)求參數(shù)向服務(wù)器發(fā)送對(duì)應(yīng)的http請(qǐng)求是同步執(zhí)行的。
[0037]從步驟103可以看出,本步驟103中,客戶端向服務(wù)器發(fā)送的http請(qǐng)求是基于配置文件中的http請(qǐng)求參數(shù)實(shí)現(xiàn)的,并非像現(xiàn)有技術(shù)那樣,通過調(diào)用html5頁(yè)面中的JS來實(shí)現(xiàn),這就打破了現(xiàn)有客戶端必須等待html5頁(yè)面中的JS已加載完才能發(fā)送http請(qǐng)求的缺陷,使得本發(fā)明中客戶端發(fā)送http請(qǐng)求完全不依賴于html5頁(yè)面中的JS是否已加載完。
[0038]步驟104,接收服務(wù)器針對(duì)http請(qǐng)求返回的業(yè)務(wù)數(shù)據(jù)。
[0039]在步驟104中,當(dāng)客戶端接收到服務(wù)器針對(duì)http請(qǐng)求返回的業(yè)務(wù)數(shù)據(jù)時(shí),html5頁(yè)面可能未完成加載,針對(duì)此種情況,客戶端按照如下步驟105對(duì)接收的業(yè)務(wù)數(shù)據(jù)的進(jìn)行處理,具體見步驟105。
[0040]步驟105,在html5頁(yè)面未完成加載時(shí),將接收的業(yè)務(wù)數(shù)據(jù)存入本地隊(duì)列,并在所述html5頁(yè)面完成加載時(shí),將本地隊(duì)列中所有業(yè)務(wù)數(shù)據(jù)加載至所述html5頁(yè)面提供給用戶。
[0041]這里,將本地隊(duì)列中所有業(yè)務(wù)數(shù)據(jù)加載至所述html5頁(yè)面提供給用戶具體可包括:
[0042]將本地隊(duì)列中所有業(yè)務(wù)數(shù)據(jù)拼接組成JS請(qǐng)求,通過網(wǎng)絡(luò)視圖(webview)加載的方式將所述JS請(qǐng)求加載至所述html5頁(yè)面以使組成所述JS請(qǐng)求的所有業(yè)務(wù)數(shù)據(jù)提供給用戶。
[0043]本發(fā)明中,作為一個(gè)優(yōu)選實(shí)施例,當(dāng)在如上步驟104中客戶端接收到服務(wù)器針對(duì)http請(qǐng)求返回的業(yè)務(wù)數(shù)據(jù)時(shí),html5頁(yè)面已完成加載,此時(shí),客戶端可將接收的業(yè)務(wù)數(shù)據(jù)加載至所述html5頁(yè)面提供給用戶。
[0044]這里,客戶端將接收的業(yè)務(wù)數(shù)據(jù)加載至所述html5頁(yè)面提供給用戶具體為:將接收的業(yè)務(wù)數(shù)據(jù)拼接為JS請(qǐng)求并通過webview加載的方式將該JS請(qǐng)求加載至所述html5頁(yè)面以使組成該JS請(qǐng)求的業(yè)務(wù)數(shù)據(jù)提供給用戶。
[0045]至此,完成圖1所示的流程描述。
[0046]通過圖1所示的流程可以看出,在本發(fā)明中,http請(qǐng)求的發(fā)出不依賴html5頁(yè)面中的JS,http請(qǐng)求的發(fā)出和html5頁(yè)面的加載是相互獨(dú)立的兩個(gè)過程,兩者之間沒有固定的時(shí)間先后順序,比如http請(qǐng)求和html5頁(yè)面加載完全可以同步執(zhí)行,沒有必要限定必須在html5頁(yè)面加載完成后才能執(zhí)行http請(qǐng)求,相比現(xiàn)有http請(qǐng)求必須在html5頁(yè)面加載完成后才能執(zhí)行,本發(fā)明能夠提高數(shù)據(jù)訪問速度和效率。
[0047]還有,本發(fā)明中,當(dāng)接收到服務(wù)器針對(duì)所述http請(qǐng)求返回的業(yè)務(wù)數(shù)據(jù)時(shí),如果html5頁(yè)面還未完成加載,則將接收的業(yè)務(wù)數(shù)據(jù)存入隊(duì)列中,等html5頁(yè)面加載完成后,將隊(duì)列中存入的由服務(wù)器返回的針對(duì)多個(gè)http請(qǐng)求返回的多個(gè)業(yè)務(wù)數(shù)據(jù)一次性地加載至html5頁(yè)面刷新顯示,這一方面體現(xiàn)了 hybrid混合開發(fā)應(yīng)用中的html 5頁(yè)面開發(fā),可以利用html5頁(yè)面開發(fā)容易升級(jí)等優(yōu)勢(shì),又借鑒了本地http請(qǐng)求速度快的特點(diǎn)。
[0048]下面通過一個(gè)具體實(shí)施例對(duì)圖1所示流程進(jìn)行描述:
[0049]參見圖2,圖2為本發(fā)明提供的實(shí)施例流程圖。該流程以應(yīng)用于Android客戶端為例,如圖2所示,該流程可包括以下步驟:
[0050]步驟201,采用XML為所有待發(fā)的http請(qǐng)求配置對(duì)應(yīng)的http請(qǐng)求參數(shù)。
[0051]假如根據(jù)應(yīng)用預(yù)估Android客戶端可能會(huì)發(fā)出L個(gè)http請(qǐng)求,則就采用XML為這L個(gè)http請(qǐng)求分別配置對(duì)應(yīng)的http請(qǐng)求參數(shù)。
[0052]下文僅舉例描述通過XML為一個(gè)http請(qǐng)求對(duì)應(yīng)的http請(qǐng)求參數(shù)的實(shí)施例,其他http請(qǐng)求對(duì)應(yīng)的http請(qǐng)求參數(shù)類似,只不過具體取值會(huì)有所不同:
[0053]〈plugin httpRequestId=,,getPageInfo” ServerUrl =,,m.jd.com” port=”8080”needProgressDialog=,,true,,appKey =,,android” appVers 1n=,,4.4.0,,>
[0054]在上述通過XML配置http請(qǐng)求參數(shù)的實(shí)施例中,http請(qǐng)求參數(shù)包含了:
[0055]httpRequestld,代表業(yè)務(wù)參數(shù),具體為 getPagelnfo;
[0056]ServerUrl,代表服務(wù)器標(biāo)識(shí),具體為服務(wù)器的urI主機(jī)地址m.jd.com;
[0057]port,代表服務(wù)器端口,具體為端口 8080 ;
[0058]needProgressDialog,代表在Androd客戶端發(fā)出http請(qǐng)求的過程中,在頁(yè)面需要加載一個(gè)進(jìn)度條;
[0059]appKey,代表Android客戶端類型,是android還是或1s,這里是以android為例;
[0060]appVers 1n,代表 Andro id 客戶端版本號(hào)。
[0061 ] 步驟202,通過webview加載Android客戶端自帶文件夾中的html5頁(yè)面。
[0062]步驟203,向服務(wù)器發(fā)送http請(qǐng)求。
[0
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1