張開利
(遼東學(xué)院,遼寧 丹東 118003)
目前隨著科技和信息技術(shù)的不斷發(fā)展,移動(dòng)網(wǎng)絡(luò)的發(fā)展也漸漸趨于成熟,所以手機(jī)是目前最常見的移動(dòng)網(wǎng)絡(luò)信息承載形式。隨著手機(jī)操作系統(tǒng)的不斷智能化,手機(jī)的功能也如同電腦系統(tǒng)一樣在不斷地開發(fā)、升級(jí)和更新,目前手機(jī)和電腦在信息承載能力方面已經(jīng)伯仲難分。手機(jī)平臺(tái)之所以可以跟電腦平臺(tái)相提并論,是因?yàn)槟壳笆謾C(jī)平臺(tái)的信息采集能力和互聯(lián)網(wǎng)連接能力已經(jīng)處于一種非常先進(jìn)的技術(shù)層面,所以這也是手機(jī)平臺(tái)最大的優(yōu)勢(shì)和特點(diǎn)。
而實(shí)際情況是,手機(jī)移動(dòng)客戶端的系統(tǒng)應(yīng)用業(yè)務(wù)框架是在原有的業(yè)務(wù)框架中拓展開來的,拓展的部分主要是手機(jī)通過無線網(wǎng)絡(luò)連入互聯(lián)網(wǎng)的過程,示意圖如下圖1:
圖1 手機(jī)通過無線網(wǎng)連入互聯(lián)網(wǎng)過程
從圖1 中我們可以看出的是,手機(jī)客戶端是先與無線網(wǎng)絡(luò)連接,之后才能實(shí)現(xiàn)與最終服務(wù)器的連接。無論是手機(jī)還是電腦,二者的客戶端平臺(tái)都需要借用互聯(lián)網(wǎng)來獲取服務(wù)端信息。
目前在進(jìn)行HTTP 的通信信息獲取過程中,瀏覽器和服務(wù)器按照其中的數(shù)據(jù)流向把桌面客戶端分為兩種形式:推送和獲?。≒OST or GET)。為了能保證頁面在數(shù)據(jù)加載的過程中足夠流暢,避免出現(xiàn)卡頓停滯的現(xiàn)象,也為了頁面的不同步加載過程有良好的技術(shù)支持,一般會(huì)利用Ajax 技術(shù)。除了桌面客戶端采用這種方法,手機(jī)客戶端對(duì)于這種技術(shù)的依賴程度更大,原因就在于處理性能方面,手機(jī)客戶端的能力還不如桌面客戶端的能力。另外,作為用戶比較方便攜帶的信息載體,手機(jī)客戶端在注重使用者的用戶體驗(yàn)上要比桌面客戶端的重視程度高很多。
在手機(jī)平臺(tái)的功能運(yùn)行中,瀏覽器的桌面信息推送、展示以及推送的自行化功能,是手機(jī)移動(dòng)客戶端必要的信息傳輸和接收過程,同時(shí)還需要足夠重視對(duì)頁面內(nèi)容異步加載的過程。在移動(dòng)手機(jī)客戶端處理頁面異步加載的技術(shù)上,安卓系統(tǒng)提供了一系列的異步處理機(jī)制,其中包括加載器、異步任務(wù)、線程消息隊(duì)列處理器等。不過因?yàn)槭謾C(jī)移動(dòng)客戶端的兼容性、信息處理機(jī)制本質(zhì)等,手機(jī)移動(dòng)客戶端主要采用面向線程以及消息隊(duì)列處理器的使用技巧和使用機(jī)制。
手機(jī)移動(dòng)客戶端在對(duì)信息進(jìn)行處理的過程中,如果想要使處理和應(yīng)用信息的效率變高,那么對(duì)于客戶端中的信息項(xiàng)進(jìn)行歸納和定義就需要有一套完整的總結(jié),而在信息項(xiàng)的定義中,移動(dòng)客戶端是其中之一。除此之外,還要涉及服務(wù)器。針對(duì)服務(wù)器來說,信息項(xiàng)的定義也就意味著是手機(jī)服務(wù)器數(shù)據(jù)表的定義,針對(duì)移動(dòng)客戶端來說,信息項(xiàng)的定義意味著PO JO 實(shí)體類的定義,并且在大部分的情況下,PO JO 屬于實(shí)體類的個(gè)性屬性,其跟數(shù)據(jù)表的列非常符合。
信息推送的功能主要可以分成三部分:第一部分是手機(jī)移動(dòng)客戶端的信息推送編碼過程,第二部分是客戶端內(nèi)容的推送過程,第三部分就是對(duì)客戶端推送結(jié)果的判斷和分析。而且在編碼過程中,不管是對(duì)文本還是對(duì)文件的編碼,都可以讓其轉(zhuǎn)化成HTTP 的通信實(shí)體。在推送的過程中,移動(dòng)客戶端的內(nèi)容推送和更新需要采取HTTP Client 的形式,進(jìn)而判斷推送反饋是否正確,那么要利用和獲取服務(wù)器的執(zhí)行反饋結(jié)果。
信息獲取部分需要分成5 個(gè)部分,其中包括:請(qǐng)求參數(shù)的編碼、參數(shù)的推送、推送結(jié)果的判斷和內(nèi)容獲取、內(nèi)容的分解、依據(jù)內(nèi)容實(shí)例化對(duì)象。這5 個(gè)部分里面,前面三個(gè)部分和上一個(gè)信息推送部分是一樣的,只不過在第三個(gè)信息獲取過程中的內(nèi)容是截然不同的,后者在獲取信息最后得到的是結(jié)果,而在信息獲取中最后得到的是服務(wù)器所需要的內(nèi)容,兩者都是JSON 數(shù)組編碼。在內(nèi)容的分解中,需要把JSON 編碼數(shù)組逐漸轉(zhuǎn)換成JSON 對(duì)象,在實(shí)例化的對(duì)象內(nèi)容里需要在熟悉和了解JSON 對(duì)象的屬性情況下,去建立與之相對(duì)應(yīng)的對(duì)象。
在手機(jī)移動(dòng)服務(wù)端中,信息的推送內(nèi)容主要分兩種:一是文本信息,二是文件的上傳。
3.1.1 文本信息推送文本推送包括3 個(gè)參數(shù)的推送連接口,見表1。
表1 文本信息推送連接口
3.1.2 文件上傳
文件上傳包括5 個(gè)參數(shù)的接口,見表2。
表2 文件上傳接口
在手機(jī)移動(dòng)客戶端的信息獲取部分,主要分為文本信息和文本的下載。
3.2.1 文本獲取
文本獲取包含6 個(gè)參數(shù)的接口,見表3。
3.2.2 文件下載
文件下載包含4 個(gè)參數(shù)的接口,見表4。
從幾個(gè)接口表格來看,表1 通過表格中的3 個(gè)參數(shù)可以湊出SQL 的插入語句,從而可以實(shí)現(xiàn)將記錄插入數(shù)據(jù)表的動(dòng)作。表2 可以湊出SQL 的更新語句,從而可以實(shí)現(xiàn)插入文件內(nèi)容塊到數(shù)據(jù)表BLOB 的動(dòng)作。表3 可以利用參數(shù)來生成完整SQL語句,表4 可湊出完整的SQL 選擇語句。
表3 文本獲取接口
表4 文件下載接口
所以從上面的信息推送處理和接收的過程來看。安卓手機(jī)的網(wǎng)絡(luò)信息處理方式和流程可以總結(jié)如下:第一步是根據(jù)地域名信息和自定義的測(cè)試命令向指定的移動(dòng)服務(wù)端發(fā)送測(cè)試信息;第二步是獲取客戶端反饋的結(jié)果信息;第三步是對(duì)結(jié)果和反饋進(jìn)行處理;第四步是網(wǎng)絡(luò)信息展示的過程。所以每一步的流程是既定的,在此過程中,如果最后的結(jié)果不是預(yù)期的結(jié)果,那么需要返回檢查是否哪一步驟出現(xiàn)遺漏和錯(cuò)誤,從而保證最后移動(dòng)客戶端運(yùn)行流暢無誤。
綜上所述,手機(jī)移動(dòng)數(shù)據(jù)端的信息處理和應(yīng)用機(jī)制是有一定特性的,所以相關(guān)使用者需要利用好安卓平臺(tái)地技術(shù)特征和性能,對(duì)手機(jī)移動(dòng)客戶端的運(yùn)作系統(tǒng)要足夠的了解和熟悉,這樣在后期手機(jī)平臺(tái)的APP 開發(fā)和更新上可以有更多的發(fā)展空間。本文用代碼1 進(jìn)行了案例說明和解讀,包括對(duì)信息套路和運(yùn)行機(jī)制進(jìn)行了分類,因此,作為一個(gè)相對(duì)完整的平臺(tái)應(yīng)用系統(tǒng),不僅需要有手機(jī)客戶端,還需要有桌面應(yīng)用和服務(wù)器系統(tǒng)。