移動(dòng)終端設(shè)備的跨平臺(tái)中間件裝置及其實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及媒體通信技術(shù)領(lǐng)域,尤其涉及一種移動(dòng)終端設(shè)備的跨平臺(tái)中間件裝置及其實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]隨著通信技術(shù)的不斷發(fā)展和移動(dòng)終端設(shè)備的不斷普及,對(duì)各種移動(dòng)互聯(lián)網(wǎng)應(yīng)用和服務(wù)的需求也急劇增加。目前移動(dòng)互聯(lián)網(wǎng)主流的開(kāi)發(fā)模式,一般是根據(jù)各個(gè)移動(dòng)操作系統(tǒng)提供的開(kāi)發(fā)庫(kù)和開(kāi)發(fā)環(huán)境,使用各個(gè)移動(dòng)開(kāi)發(fā)平臺(tái)的原生開(kāi)發(fā)語(yǔ)言進(jìn)行開(kāi)發(fā)。
[0003]然而,當(dāng)前移動(dòng)操作系統(tǒng)的種類繁多,僅主流移動(dòng)操作系統(tǒng)就有三個(gè)之多(Android, 1S, Windows Phone)。每個(gè)移動(dòng)開(kāi)發(fā)平臺(tái)提供不同的開(kāi)發(fā)工具和API(Applicat1n Programming Interface,應(yīng)用程序編程接口),開(kāi)發(fā)者需要學(xué)習(xí)不同開(kāi)發(fā)語(yǔ)言,不同開(kāi)發(fā)工具,才能將同一個(gè)應(yīng)用發(fā)布到不同平臺(tái)。另外由于各種移動(dòng)終端設(shè)備的硬件差異較大,需要針對(duì)不同屏幕分辨率,不同系統(tǒng)的特有操作習(xí)慣做單獨(dú)定制,所以導(dǎo)致移動(dòng)終端的應(yīng)用開(kāi)發(fā)門檻較高,開(kāi)發(fā)周期長(zhǎng)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實(shí)施例提供了一種移動(dòng)終端設(shè)備的跨平臺(tái)中間件裝置及其實(shí)現(xiàn)方法,以實(shí)現(xiàn)。
[0005]本發(fā)明提供了如下方案:
[0006]一種移動(dòng)終端設(shè)備的跨平臺(tái)中間件裝置,包括:
[0007]系統(tǒng)層單元,用于向移動(dòng)終端設(shè)備提供跨平臺(tái)應(yīng)用程序編程接口 API,通過(guò)所述跨平臺(tái)API接入移動(dòng)終端設(shè)備;
[0008]應(yīng)用層單元,用于通過(guò)超文本標(biāo)記語(yǔ)言、樣式文件和腳本語(yǔ)言構(gòu)建并存儲(chǔ)跨平臺(tái)標(biāo)準(zhǔn)用戶接口界面UI組件,根據(jù)所述移動(dòng)終端設(shè)備當(dāng)前應(yīng)用的操作系統(tǒng)的系統(tǒng)參數(shù)和開(kāi)發(fā)平臺(tái)的平臺(tái)參數(shù)對(duì)所述標(biāo)準(zhǔn)UI組件進(jìn)行渲染,將所述標(biāo)準(zhǔn)UI組件渲染成符合所述移動(dòng)終端設(shè)備所應(yīng)用的操作系統(tǒng)的原生態(tài)Π組件,對(duì)所述原生態(tài)Π組件進(jìn)行顯示。
[0009]所述的標(biāo)準(zhǔn)Π組件包括:列表、組合按鈕、導(dǎo)航條、彈出對(duì)話框、滾動(dòng)條和開(kāi)關(guān)按鈕。
[0010]所述的應(yīng)用層單元包括:
[0011]標(biāo)準(zhǔn)Π組件管理單元,用于通過(guò)Html5、風(fēng)格樣式表CSS和腳本語(yǔ)言構(gòu)建并存儲(chǔ)跨平臺(tái)標(biāo)準(zhǔn)UI組件;
[0012]渲染處理單元,用于根據(jù)所述移動(dòng)終端設(shè)備當(dāng)前應(yīng)用的操作系統(tǒng)的系統(tǒng)參數(shù)和開(kāi)發(fā)平臺(tái)的平臺(tái)參數(shù),將所述標(biāo)準(zhǔn)Π組件渲染成符合所述移動(dòng)終端設(shè)備所應(yīng)用的操作系統(tǒng)的原生態(tài)Π組件;
[0013]原生態(tài)Π組件應(yīng)用單元,用于通過(guò)顯示屏顯示所述原生態(tài)Π組件,根據(jù)所述移動(dòng)終端設(shè)備的狀態(tài)變化綁定系統(tǒng)事件和用戶事件,將所述原生態(tài)Π組件綁定的數(shù)據(jù)源按照所述原生態(tài)Π組件的樣式在所述顯示屏上進(jìn)行顯示。
[0014]所述的系統(tǒng)層單元包括:
[0015]跨平臺(tái)API構(gòu)建模塊,用于通過(guò)腳本語(yǔ)言構(gòu)建跨平臺(tái)API,向移動(dòng)終端設(shè)備提供所述跨平臺(tái)API ;
[0016]移動(dòng)終端設(shè)備接入模塊,用于通過(guò)所述跨平臺(tái)API接入移動(dòng)終端設(shè)備;
[0017]跨平臺(tái)API與原生態(tài)API互相調(diào)用模塊,用于根據(jù)所述移動(dòng)終端設(shè)備當(dāng)前應(yīng)用的操作系統(tǒng)的系統(tǒng)參數(shù)和開(kāi)發(fā)平臺(tái)的平臺(tái)參數(shù),以及所述跨平臺(tái)API的接口特征,實(shí)現(xiàn)所述跨平臺(tái)API與所述移動(dòng)終端設(shè)備所應(yīng)用的操作系統(tǒng)的原生態(tài)API之間的通信交互。
[0018]所述的跨平臺(tái)API與原生態(tài)API互相調(diào)用模塊,具體用于針對(duì)Android平臺(tái),跨平臺(tái)API到原生態(tài)API的通信通過(guò)處理javascript輸入提示函數(shù)的Java代碼來(lái)實(shí)現(xiàn),原生態(tài)API到跨平臺(tái)API的通信通過(guò)輪詢本地回調(diào)服務(wù)器的消息隊(duì)列來(lái)實(shí)現(xiàn);
[0019]針對(duì)1S平臺(tái),跨平臺(tái)API到原生態(tài)API的通信通過(guò)攔截UIWebView中頁(yè)面裝載請(qǐng)求來(lái)實(shí)現(xiàn),原生態(tài)API到跨平臺(tái)API的通信是通過(guò)UIwebview的StringByEvaluatingJavascriptFromString 方法實(shí)現(xiàn);
[0020]針對(duì)Windows Phone7平臺(tái),跨平臺(tái)API到原生態(tài)API的通信通過(guò)Webview中的window, extrenal.Notify O方法來(lái)實(shí)現(xiàn)的,原生態(tài)API到跨平臺(tái)API的通信通過(guò)本地的WebBrower對(duì)象的InvokeScriptO方法來(lái)實(shí)現(xiàn)。
[0021]所述的系統(tǒng)層單元還包括:
[0022]第三方插件擴(kuò)展單元:用于獲得本地原生功能的javascript鉤子文件,用原生開(kāi)發(fā)語(yǔ)言編寫的代碼和移動(dòng)終端設(shè)備進(jìn)行交互。
[0023]一種移動(dòng)終端設(shè)備的跨平臺(tái)中間件裝置的實(shí)現(xiàn)方法,包括:
[0024]通過(guò)超文本標(biāo)記語(yǔ)言、樣式文件和腳本語(yǔ)言構(gòu)建并存儲(chǔ)跨平臺(tái)標(biāo)準(zhǔn)用戶接口界面UI組件;
[0025]向移動(dòng)終端設(shè)備提供跨平臺(tái)應(yīng)用程序編程接口 API,通過(guò)所述跨平臺(tái)API接入移動(dòng)終端設(shè)備;
[0026]根據(jù)所述移動(dòng)終端設(shè)備當(dāng)前應(yīng)用的操作系統(tǒng)的系統(tǒng)參數(shù)和開(kāi)發(fā)平臺(tái)的平臺(tái)參數(shù)對(duì)所述標(biāo)準(zhǔn)Π組件進(jìn)行渲染,將所述標(biāo)準(zhǔn)Π組件渲染成符合所述移動(dòng)終端設(shè)備所應(yīng)用的操作系統(tǒng)的原生態(tài)Π組件,對(duì)所述原生態(tài)Π組件進(jìn)行顯示。
[0027]所述的通過(guò)超文本標(biāo)記語(yǔ)言、樣式文件和腳本語(yǔ)言構(gòu)建并存儲(chǔ)跨平臺(tái)標(biāo)準(zhǔn)用戶接口界面UI組件,包括:
[0028]通過(guò)Html5、風(fēng)格樣式表CSS和腳本語(yǔ)言構(gòu)建并存儲(chǔ)跨平臺(tái)標(biāo)準(zhǔn)UI組件。
[0029]所述的對(duì)所述原生態(tài)UI組件進(jìn)行顯示之后,還包括:
[0030]通過(guò)顯示屏顯示所述原生態(tài)Π組件后,根據(jù)所述移動(dòng)終端設(shè)備的狀態(tài)變化綁定系統(tǒng)事件和用戶事件,將所述原生態(tài)Π組件綁定的數(shù)據(jù)源按照所述原生態(tài)Π組件的樣式在所述顯示屏上進(jìn)行顯示。
[0031]所述的向移動(dòng)終端設(shè)備提供跨平臺(tái)應(yīng)用程序編程接口 API,通過(guò)所述跨平臺(tái)API接入移動(dòng)終端設(shè)備,包括:
[0032]通過(guò)腳本語(yǔ)言構(gòu)建跨平臺(tái)API,向移動(dòng)終端設(shè)備提供所述跨平臺(tái)API ;
[0033]通過(guò)所述跨平臺(tái)API接入移動(dòng)終端設(shè)備;
[0034]根據(jù)所述移動(dòng)終端設(shè)備當(dāng)前應(yīng)用的操作系統(tǒng)的系統(tǒng)參數(shù)和開(kāi)發(fā)平臺(tái)的平臺(tái)參數(shù),以及所述跨平臺(tái)API的接口特征,實(shí)現(xiàn)所述跨平臺(tái)API與所述移動(dòng)終端設(shè)備所應(yīng)用的操作系統(tǒng)的原生態(tài)API之間的通信交互。
[0035]所述的根據(jù)所述移動(dòng)終端設(shè)備所應(yīng)用的操作系統(tǒng)的Webview接口特點(diǎn),實(shí)現(xiàn)所述跨平臺(tái)API與所述移動(dòng)終端設(shè)備所應(yīng)用的操作系統(tǒng)的原生態(tài)API之間的通信交互,包括:
[0036]針對(duì)Android平臺(tái),跨平臺(tái)API到原生態(tài)API的通信通過(guò)處理javascript輸入提示函數(shù)的Java代碼來(lái)實(shí)現(xiàn),原生態(tài)API到跨平臺(tái)API的通信通過(guò)輪詢本地回調(diào)服務(wù)器的消息隊(duì)列來(lái)實(shí)現(xiàn);
[0037]針對(duì)1S平臺(tái),跨平臺(tái)API到原生態(tài)API的通信通過(guò)攔截HWebView中頁(yè)面裝載請(qǐng)求來(lái)實(shí)現(xiàn),原生態(tài)API到跨平臺(tái)API的通信是通過(guò)UIwebview的StringByEvaluatingJavascriptFromString 方法實(shí)現(xiàn);
[0038]針對(duì)Windows Phone7平臺(tái),跨平臺(tái)API到原生態(tài)API的通信通過(guò)Webview中的window, extrenal.Notify O方法來(lái)實(shí)現(xiàn)的,原生態(tài)API到跨平臺(tái)API的通信通過(guò)本地的WebBrower對(duì)象的InvokeScriptO方法來(lái)實(shí)現(xiàn)。
[0039]由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,本發(fā)明實(shí)施例的跨平臺(tái)中間件裝置可以屏蔽各種移動(dòng)終端設(shè)備的操作系統(tǒng)API的復(fù)雜性,為移動(dòng)終端提供一個(gè)完整的支撐環(huán)境,能夠使用Web技術(shù)快速開(kāi)發(fā),同時(shí)獲得近似原生應(yīng)用的樣式和用戶體驗(yàn),避免重復(fù)開(kāi)發(fā),開(kāi)發(fā)者不需要學(xué)習(xí)不同開(kāi)發(fā)語(yǔ)言,不同開(kāi)發(fā)工具,就能將同一個(gè)應(yīng)用發(fā)布到不同平臺(tái),大大減輕開(kāi)發(fā)者負(fù)擔(dān)。本發(fā)明實(shí)施例的跨平臺(tái)中間件裝置具有簡(jiǎn)單,高效,可擴(kuò)展性強(qiáng)的特點(diǎn)。
【附圖說(shuō)明】
[0040]為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0041]圖1為本發(fā)明實(shí)施例一提供的一種移動(dòng)終端設(shè)備的跨平臺(tái)中間件裝置的具體結(jié)構(gòu)示意圖,圖中,系統(tǒng)層單元10,應(yīng)用層單元20 ;
[0042]圖2為本發(fā)明實(shí)施例二提供的一種移動(dòng)終端設(shè)備的跨平臺(tái)中間件裝置的實(shí)現(xiàn)方法的處理流程圖;
[0043]圖3為本發(fā)明實(shí)施例二提供的一種跨平臺(tái)API的實(shí)現(xiàn)類圖。
【具體實(shí)施方式】
[0044]為便于對(duì)本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖以幾個(gè)具體實(shí)施例為例做進(jìn)一步的解釋說(shuō)明,且各個(gè)實(shí)施例并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定。
[0045]本發(fā)明實(shí)施例使用一套代碼在不同移動(dòng)終端設(shè)備的平臺(tái)上自動(dòng)展示對(duì)應(yīng)移動(dòng)開(kāi)發(fā)平臺(tái)原生Π (USER INTERFACE,用戶接口界面)組件的效果,同時(shí)提供視圖導(dǎo)航,頁(yè)面與數(shù)據(jù)分離機(jī)制,動(dòng)態(tài)模板機(jī)制。
[0046]實(shí)施例一
[0047]該實(shí)施例提供了一種移動(dòng)終端設(shè)備的跨平臺(tái)中間件裝置,其具體結(jié)構(gòu)如圖1所示,包括: