一種移動終端網(wǎng)絡請求方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開一種移動終端網(wǎng)絡請求方法及系統(tǒng),方法包括:移動終端的網(wǎng)絡應用接收到包括網(wǎng)絡請求參數(shù)信息的網(wǎng)絡請求;所述網(wǎng)絡應用將所述網(wǎng)絡請求發(fā)送到包括回調(diào)函數(shù)的異步任務中,所述異步任務根據(jù)所述網(wǎng)絡請求參數(shù)信息執(zhí)行所述網(wǎng)絡請求下載請求結果數(shù)據(jù),將所述請求結果數(shù)據(jù)通過所述回調(diào)函數(shù)返回給所述網(wǎng)絡應用;所述網(wǎng)絡應用對所述回調(diào)函數(shù)所返回的請求結果數(shù)據(jù)進行解析得到應用數(shù)據(jù)。本發(fā)明通過異步任務接收網(wǎng)絡應用發(fā)送的網(wǎng)絡請求,由該異步任務統(tǒng)一進行網(wǎng)絡訪問,從而將網(wǎng)絡訪問獨立出來,避免多個網(wǎng)絡應用自行執(zhí)行網(wǎng)絡請求,使得移動終端的網(wǎng)絡請求能統(tǒng)一管理,減少混亂,降低出錯概率。
【專利說明】
-種移動終端網(wǎng)絡請求方法及系統(tǒng)
技術領域
[0001] 本發(fā)明設及移動終端領域,尤其設及一種移動終端網(wǎng)絡請求方法及系統(tǒng)。
【背景技術】
[0002] 移動終端,特別是智能手機,已經(jīng)能夠很好地進行網(wǎng)絡訪問。用戶通過移動終端上 的各種應用訪問網(wǎng)絡。對于移動終端來說,由于處理器性能受限,因此,其操作系統(tǒng),例如安 卓系統(tǒng)(aiKlroid),是用一個主線程來顯示繪制可見視圖(view),運樣任何耗時的網(wǎng)絡請求 都要在新的線程中處理,因此在操作系統(tǒng)中任何耗時的請求都需要處理多線程,并通過執(zhí) 行跨線程操作將網(wǎng)絡請求的結果通知主線程,主線程收到請求結果之后還要解析龐雜的字 符串,最終生成用戶想要的結果,過程非常復雜,冗余量大。
[0003] 同時,對于一個滿是網(wǎng)絡請求的應用來說,要處理海量的網(wǎng)絡請求,不斷生成新的 線程,經(jīng)常處理跨線程操作,很容易發(fā)生應用無響應(application not response,ANR),降 低用戶體驗滿意度。
【發(fā)明內(nèi)容】
[0004] 基于此,有必要針對現(xiàn)有技術在移動終端訪問網(wǎng)絡過程復雜,容易出錯的技術問 題,提供一種移動終端網(wǎng)絡請求方法及系統(tǒng)。
[0005] 本發(fā)明提供一種移動終端網(wǎng)絡請求方法,包括:
[0006] 網(wǎng)絡請求接收步驟,包括:移動終端的網(wǎng)絡應用接收到包括網(wǎng)絡請求參數(shù)信息的 網(wǎng)絡請求;
[0007] 異步任務下載步驟,包括:所述網(wǎng)絡應用將所述網(wǎng)絡請求發(fā)送到包括回調(diào)函數(shù)的 異步任務中,所述異步任務根據(jù)所述網(wǎng)絡請求參數(shù)信息執(zhí)行所述網(wǎng)絡請求下載請求結果數(shù) 據(jù),將所述請求結果數(shù)據(jù)通過所述回調(diào)函數(shù)返回給所述網(wǎng)絡應用;
[0008] 網(wǎng)絡應用解析步驟,包括:所述網(wǎng)絡應用對所述回調(diào)函數(shù)所返回的請求結果數(shù)據(jù) 進行解析得到應用數(shù)據(jù)。
[0009] 進一步的,所述異步任務包括單個工作線程,所述異步任務下載步驟中,所述異步 任務通過所述工作線程執(zhí)行所述網(wǎng)絡請求。
[0010] 更進一步的,所述異步任務還包括用于所述工作線程與移動終端主線程通信的跨 線程處理邏輯,所述主線程用于在所述移動終端屏幕上進行擅染顯示;
[0011] 所述網(wǎng)絡應用解析步驟,還包括:所述網(wǎng)絡應用將所述應用數(shù)據(jù)發(fā)送到所述異步 任務,所述異步任務通過所述工作線程調(diào)用所述跨線程處理邏輯將所述應用數(shù)據(jù)發(fā)送到主 線程,由所述主線程在所述移動終端屏幕上擅染顯示所述應用數(shù)據(jù)。
[0012] 再進一步的,所述異步任務下載步驟在所述移動終端的后臺執(zhí)行。
[0013] 再進一步的,所述網(wǎng)絡請求參數(shù)信息為網(wǎng)絡地址信息和內(nèi)容類型信息。
[0014] 本發(fā)明提供一種移動終端網(wǎng)絡請求系統(tǒng),包括:
[0015] 網(wǎng)絡請求接收模塊,用于:移動終端的網(wǎng)絡應用接收到包括網(wǎng)絡請求參數(shù)信息的 網(wǎng)絡請求;
[0016] 異步任務下載模塊,用于:所述網(wǎng)絡應用將所述網(wǎng)絡請求發(fā)送到包括回調(diào)函數(shù)的 異步任務中,所述異步任務根據(jù)所述網(wǎng)絡請求參數(shù)信息執(zhí)行所述網(wǎng)絡請求下載請求結果數(shù) 據(jù),將所述請求結果數(shù)據(jù)通過所述回調(diào)函數(shù)返回給所述網(wǎng)絡應用;
[0017] 網(wǎng)絡應用解析模塊,用于:所述網(wǎng)絡應用對所述回調(diào)函數(shù)所返回的請求結果數(shù)據(jù) 進行解析得到應用數(shù)據(jù)。
[0018] 進一步的,所述異步任務包括單個工作線程,所述異步任務下載模塊中,所述異步 任務通過所述工作線程執(zhí)行所述網(wǎng)絡請求。
[0019] 進一步的,所述異步任務還包括用于所述工作線程與移動終端主線程通信的跨線 程處理邏輯,所述主線程用于在所述移動終端屏幕上進行擅染顯示;
[0020] 所述網(wǎng)絡應用解析模塊,還包括:所述網(wǎng)絡應用將所述應用數(shù)據(jù)發(fā)送到所述異步 任務,所述異步任務通過所述工作線程調(diào)用所述跨線程處理邏輯將所述應用數(shù)據(jù)發(fā)送到主 線程,由所述主線程在所述移動終端屏幕上擅染顯示所述應用數(shù)據(jù)。
[0021] 再進一步的,所述異步任務下載模塊在所述移動終端的后臺執(zhí)行。
[0022] 再進一步的,所述網(wǎng)絡請求參數(shù)信息為網(wǎng)絡地址信息和內(nèi)容類型信息。
[0023] 實施本發(fā)明實施例,具有如下有益效果:通過異步任務接收網(wǎng)絡應用發(fā)送的網(wǎng)絡 請求,由該異步任務統(tǒng)一進行網(wǎng)絡訪問,從而將網(wǎng)絡訪問獨立出來,避免多個網(wǎng)絡應用自行 執(zhí)行網(wǎng)絡請求,使得移動終端的網(wǎng)絡請求能統(tǒng)一管理,減少混亂,降低出錯概率。
【附圖說明】
[0024] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可 W根據(jù)運些附圖獲得其他的附圖。
[0025] 圖1為本發(fā)明網(wǎng)絡請求方法的流程圖;
[0026] 圖2為圖1的最佳實施例流程圖;
[0027] 圖3為本發(fā)明異步任務管理系統(tǒng)的結構示意圖;
[0028] 圖4為本發(fā)明終端的結構框圖。
【具體實施方式】
[0029] 下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0030] 如圖1所示為本發(fā)明一種移動終端網(wǎng)絡請求方法的工作流程圖,包括:
[0031] 步驟SlOl,包括:移動終端的網(wǎng)絡應用接收到包括網(wǎng)絡請求參數(shù)信息的網(wǎng)絡請求;
[0032] 步驟S102,包括:所述網(wǎng)絡應用將所述網(wǎng)絡請求發(fā)送到包括回調(diào)函數(shù)的異步任務 中,所述異步任務根據(jù)所述網(wǎng)絡請求參數(shù)信息執(zhí)行所述網(wǎng)絡請求下載請求結果數(shù)據(jù),將所 述請求結果數(shù)據(jù)通過所述回調(diào)函數(shù)返回給所述網(wǎng)絡應用;
[0033] 步驟S103,包括:所述網(wǎng)絡應用對所述回調(diào)函數(shù)所返回的請求結果數(shù)據(jù)進行解析 得到應用數(shù)據(jù)。
[0034] 移動終端具有多個應用,其中部分應用需要訪問網(wǎng)絡,即網(wǎng)絡應用。當用戶點擊網(wǎng) 絡應用,并請求通過網(wǎng)絡應用訪問網(wǎng)絡時,網(wǎng)絡應用獲取到網(wǎng)絡請求參數(shù)信息,生成網(wǎng)絡請 求,并執(zhí)行步驟S101。步驟SlOl調(diào)用異步任務,將網(wǎng)絡請求發(fā)送給異步任務,該異步任務中 包括有回調(diào)函數(shù),回調(diào)函數(shù)的作用是用于記錄請求異步任務的應用,從而在觸發(fā)回調(diào)時,能 通過回調(diào)函數(shù)向請求該異步任務的應用返回信息。異步任務執(zhí)行步驟S102完成網(wǎng)絡應用所 生成的網(wǎng)絡請求,并在得到請求結果數(shù)據(jù)后通過回調(diào)函數(shù)返回給調(diào)用異步任務的網(wǎng)絡應 用。網(wǎng)絡應用在步驟S103中對請求結果數(shù)據(jù)進行解析。
[0035] 本發(fā)明通過異步任務接收網(wǎng)絡應用發(fā)送的網(wǎng)絡請求,由該異步任務統(tǒng)一進行網(wǎng)絡 訪問,從而將網(wǎng)絡訪問獨立出來,避免多個網(wǎng)絡應用自行執(zhí)行網(wǎng)絡請求,使得移動終端的網(wǎng) 絡請求能統(tǒng)一管理,減少混亂,降低出錯概率。同時,由于異步任務是異步執(zhí)行網(wǎng)絡請求,因 此網(wǎng)絡應用將網(wǎng)絡請求發(fā)送給異步任務后,可W執(zhí)行其他事情,提高效率。
[0036] 在其中一個實施例中,所述異步任務包括單個工作線程,所述步驟S102中,所述異 步任務通過所述工作線程執(zhí)行所述網(wǎng)絡請求。
[0037] 本實施例中,異步任務只包括單個工作線程,通過該工作線程執(zhí)行網(wǎng)絡請求,由于 采用單線程進行網(wǎng)絡請求,因此不同的網(wǎng)絡應用之間,并不會進行跨線程處理,能進一步避 免網(wǎng)絡請求的混亂。
[0038] 在其中一個實施例中,所述異步任務還包括用于所述工作線程與移動終端主線程 通信的跨線程處理邏輯,所述主線程用于在所述移動終端屏幕上進行擅染顯示;
[0039] 所述步驟S103,還包括:所述網(wǎng)絡應用將所述應用數(shù)據(jù)發(fā)送到所述異步任務,所述 異步任務通過所述工作線程調(diào)用所述跨線程處理邏輯將所述應用數(shù)據(jù)發(fā)送到主線程,由所 述主線程在所述移動終端屏幕上擅染顯示所述應用數(shù)據(jù)。
[0040] 區(qū)別于現(xiàn)有技術中多個網(wǎng)絡應用在應用中自行執(zhí)行與主線程的跨線程處理邏輯, 本實施例將與移動終端主線程的跨線程處理邏輯獨立封裝到異步任務中,由異步任務統(tǒng)一 進行跨線程處理邏輯,進一步避免減少跨線程處理的風險,降低出現(xiàn)ANR的概率,提高用戶 滿意度。
[0041] 在其中一個實施例中,所述步驟S102在所述移動終端的后臺執(zhí)行。
[0042] 本實施例中,異步任務在移動終端的后臺執(zhí)行網(wǎng)絡請求,減少對用戶的干擾。
[0043] 優(yōu)選地,所述網(wǎng)絡請求參數(shù)信息為網(wǎng)絡地址信息和內(nèi)容類型信息。
[0044] 其中,網(wǎng)絡地址信息也稱統(tǒng)一資源定位器化niform Resource Locator,URL)。
[0045] 如圖2所述為本發(fā)明最佳實施例的工作流程圖,包括:
[0046] 步驟S201,網(wǎng)絡應用21生成網(wǎng)絡請求;
[0047] 具體的,該網(wǎng)絡請求包括網(wǎng)絡請求參數(shù)信息,在具體實施過程當中,該網(wǎng)絡請求參 數(shù)信息為網(wǎng)絡地址信息也稱統(tǒng)一資源定位器化niform Resoure Locator,抓L)和內(nèi)容類型 f目息;
[0048] 步驟S202,網(wǎng)絡應用21實例化異步任務22,并將網(wǎng)絡請求傳送到異步任務,具體如 下:
[0049] new ThemeSummariesTask(context,cal!back,params).executeOnExecutor (l'hemeSumma;riesl'ask.THREAD_POOL_EXEC UTOR),其中HiemeSummarieshsk為本實施例中 的異步任務;
[0050]步驟S203,異步任務22根據(jù)網(wǎng)絡請求從服務器24下載網(wǎng)頁數(shù)據(jù),生成請求結果數(shù) 據(jù);
[0051 ]具體的,系統(tǒng)在異步任務的工作線程中在后臺執(zhí)行異步任務的doInBackground方 法,在do InBackground方法內(nèi)建立網(wǎng)絡連接,執(zhí)行網(wǎng)絡請求;
[0052] 執(zhí)行網(wǎng)絡請求,首先根據(jù)不同的網(wǎng)絡請求內(nèi)容決定網(wǎng)絡請求方法,然后根據(jù)ML建 立網(wǎng)絡連接,從網(wǎng)絡連接中獲取網(wǎng)絡響應,如果響應正常,那么則解析網(wǎng)絡響應;
[0053] 建立網(wǎng)絡連接的方法,包括:
[0054] 配置連接超時時間;
[0055] 在網(wǎng)絡連接的化tp請求的頭中,加入請求參數(shù)的內(nèi)容類型信息(比如JSON或者 XML),例如將JSON格式的請求參數(shù)加入到請求體中,JSON格式如下:
[0化6]
[0057]從網(wǎng)絡連接中打開輸入流,從輸入流中獲取網(wǎng)絡響應信息,即獲取從服務器返回 的信息,例如壁紙應用所請求壁紙的描述等,具體的,通過數(shù)據(jù)下載的分頁處理類 化ntityLoader)處理分頁請求的抓L,然后通過網(wǎng)絡請求工具化ttp化1〔〇11]16(31:;[0]1化;[1)的 請求響應(doRequest)方法將U化請求參數(shù)放到網(wǎng)絡請求中做相應的網(wǎng)絡請求,下載網(wǎng)頁數(shù) 據(jù),并生成請求結果數(shù)據(jù);
[005引步驟S204,異步任務22通過回調(diào)函數(shù)將請求結果數(shù)據(jù)發(fā)送至網(wǎng)絡應用21;
[0059] 步驟S205,網(wǎng)絡應用21解析所述請求結果數(shù)據(jù),獲取所需的數(shù)據(jù)信息;
[0060] 具體的,通過網(wǎng)絡請求結果解析類化ntityParser)解析請求結果數(shù)據(jù),獲取所需 的應用數(shù)據(jù)信息;
[0061] 步驟S206,網(wǎng)絡應用21將應用數(shù)據(jù)信息發(fā)送給異步任務22;
[0062] 步驟S207,異步任務22調(diào)用on化StExecute方法通知界面化ser Interface,UI)主 線程23;
[0063] 步驟S208,主線程顯示應用數(shù)據(jù)信息。
[0064] 如圖3所示為本發(fā)明一種移動終端網(wǎng)絡請求系統(tǒng),包括:
[0065] 網(wǎng)絡請求接收模塊301,用于:移動終端的網(wǎng)絡應用接收到包括網(wǎng)絡請求參數(shù)信息 的網(wǎng)絡請求;
[0066] 異步任務下載模塊302,用于:所述網(wǎng)絡應用將所述網(wǎng)絡請求發(fā)送到包括回調(diào)函數(shù) 的異步任務中,所述異步任務根據(jù)所述網(wǎng)絡請求參數(shù)信息執(zhí)行所述網(wǎng)絡請求下載請求結果 數(shù)據(jù),將所述請求結果數(shù)據(jù)通過所述回調(diào)函數(shù)返回給所述網(wǎng)絡應用;
[0067] 網(wǎng)絡應用解析模塊303,用于:所述網(wǎng)絡應用對所述回調(diào)函數(shù)所返回的請求結果數(shù) 據(jù)進行解析得到應用數(shù)據(jù)。
[0068] 在其中一個實施例中,所述異步任務包括單個工作線程,所述異步任務下載模塊 中,所述異步任務通過所述工作線程執(zhí)行所述網(wǎng)絡請求。
[0069] 在其中一個實施例中,所述異步任務還包括用于所述工作線程與移動終端主線程 通信的跨線程處理邏輯,所述主線程用于在所述移動終端屏幕上進行擅染顯示;
[0070] 所述網(wǎng)絡應用解析模塊,還包括:所述網(wǎng)絡應用將所述應用數(shù)據(jù)發(fā)送到所述異步 任務,所述異步任務通過所述工作線程調(diào)用所述跨線程處理邏輯將所述應用數(shù)據(jù)發(fā)送到主 線程,由所述主線程在所述移動終端屏幕上擅染顯示所述應用數(shù)據(jù)。
[0071] 在其中一個實施例中,所述異步任務下載模塊在所述移動終端的后臺執(zhí)行。
[0072] 在其中一個實施例中,所述網(wǎng)絡請求參數(shù)信息為網(wǎng)絡地址信息和內(nèi)容類型信息。
[0073] 如圖4所示為本發(fā)明終端的結構框圖,其主要包括:處理器401、存儲器402及通信 組件403等。一般來說,本發(fā)明的移動終端優(yōu)選為智能手機。
[0074] 其中存儲器402中存儲前述方法的具體代碼,由處理器401具體執(zhí)行,通信組件403 與服務器進行通信。
[0075] W上所掲露的僅為本發(fā)明一種較佳實施例而已,當然不能W此來限定本發(fā)明之權 利范圍,因此依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
[0076] 顯然,本領域的技術人員可W對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精 神和范圍。運樣,倘若本發(fā)明的運些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍 之內(nèi),則本發(fā)明也意圖包含運些改動和變型在內(nèi)。
【主權項】
1. 一種移動終端網(wǎng)絡請求方法,其特征在于,包括: 網(wǎng)絡請求接收步驟,包括:移動終端的網(wǎng)絡應用接收到包括網(wǎng)絡請求參數(shù)信息的網(wǎng)絡 請求; 異步任務下載步驟,包括:所述網(wǎng)絡應用將所述網(wǎng)絡請求發(fā)送到包括回調(diào)函數(shù)的異步 任務中,所述異步任務根據(jù)所述網(wǎng)絡請求參數(shù)信息執(zhí)行所述網(wǎng)絡請求下載請求結果數(shù)據(jù), 將所述請求結果數(shù)據(jù)通過所述回調(diào)函數(shù)返回給所述網(wǎng)絡應用; 網(wǎng)絡應用解析步驟,包括:所述網(wǎng)絡應用對所述回調(diào)函數(shù)所返回的請求結果數(shù)據(jù)進行 解析得到應用數(shù)據(jù)。2. 根據(jù)權利要求1所述的移動終端網(wǎng)絡請求方法,其特征在于,所述異步任務包括單個 工作線程,所述異步任務下載步驟中,所述異步任務通過所述工作線程執(zhí)行所述網(wǎng)絡請求。3. 根據(jù)權利要求2所述的移動終端網(wǎng)絡請求方法,其特征在于,所述異步任務還包括用 于所述工作線程與移動終端主線程通信的跨線程處理邏輯,所述主線程用于在所述移動終 端屏幕上進行渲染顯示; 所述網(wǎng)絡應用解析步驟,還包括:所述網(wǎng)絡應用將所述應用數(shù)據(jù)發(fā)送到所述異步任務, 所述異步任務通過所述工作線程調(diào)用所述跨線程處理邏輯將所述應用數(shù)據(jù)發(fā)送到主線程, 由所述主線程在所述移動終端屏幕上渲染顯示所述應用數(shù)據(jù)。4. 根據(jù)權利要求1-3任一項所述的移動終端網(wǎng)絡請求方法,其特征在于,所述異步任務 下載步驟在所述移動終端的后臺執(zhí)行。5. 根據(jù)權利要求1-3任一項所述的移動終端網(wǎng)絡請求方法,其特征在于,所述網(wǎng)絡請求 參數(shù)信息為網(wǎng)絡地址信息和內(nèi)容類型信息。6. -種移動終端網(wǎng)絡請求系統(tǒng),其特征在于,包括: 網(wǎng)絡請求接收模塊,用于:移動終端的網(wǎng)絡應用接收到包括網(wǎng)絡請求參數(shù)信息的網(wǎng)絡 請求; 異步任務下載模塊,用于:所述網(wǎng)絡應用將所述網(wǎng)絡請求發(fā)送到包括回調(diào)函數(shù)的異步 任務中,所述異步任務根據(jù)所述網(wǎng)絡請求參數(shù)信息執(zhí)行所述網(wǎng)絡請求下載請求結果數(shù)據(jù), 將所述請求結果數(shù)據(jù)通過所述回調(diào)函數(shù)返回給所述網(wǎng)絡應用; 網(wǎng)絡應用解析模塊,用于:所述網(wǎng)絡應用對所述回調(diào)函數(shù)所返回的請求結果數(shù)據(jù)進行 解析得到應用數(shù)據(jù)。7. 根據(jù)權利要求6所述的移動終端網(wǎng)絡請求系統(tǒng),其特征在于,所述異步任務包括單個 工作線程,所述異步任務下載模塊中,所述異步任務通過所述工作線程執(zhí)行所述網(wǎng)絡請求。8. 根據(jù)權利要求7所述的移動終端網(wǎng)絡請求系統(tǒng),其特征在于,所述異步任務還包括用 于所述工作線程與移動終端主線程通信的跨線程處理邏輯,所述主線程用于在所述移動終 端屏幕上進行渲染顯示; 所述網(wǎng)絡應用解析模塊,還包括:所述網(wǎng)絡應用將所述應用數(shù)據(jù)發(fā)送到所述異步任務, 所述異步任務通過所述工作線程調(diào)用所述跨線程處理邏輯將所述應用數(shù)據(jù)發(fā)送到主線程, 由所述主線程在所述移動終端屏幕上渲染顯示所述應用數(shù)據(jù)。9. 根據(jù)權利要求6-8任一項所述的移動終端網(wǎng)絡請求系統(tǒng),其特征在于,所述異步任務 下載模塊在所述移動終端的后臺執(zhí)行。10. 根據(jù)權利要求6-8任一項所述的移動終端網(wǎng)絡請求系統(tǒng),其特征在于,所述網(wǎng)絡請
【文檔編號】H04L29/08GK105847319SQ201610096651
【公開日】2016年8月10日
【申請日】2016年2月22日
【發(fā)明人】趙洪濤
【申請人】樂視移動智能信息技術(北京)有限公司