專利名稱:Widget應用方法、系統(tǒng)及多媒體終端的制作方法
技術領域:
本發(fā)明涉及電器領域,具體而言,涉及ー種Widget應用方法、系統(tǒng)及多媒體終端。
背景技術:
Widget是ー種小型的程序,可以運行于電腦或者電視上,能夠聯(lián)網(wǎng)為用戶提供各種咨詢功能,也可以提供其它豐富的應用。傳統(tǒng)的軟件設計都是界面設計與程序混合在一起,程序人員同時要設計界面,增加負擔;而且程序要完成功能時要直接調用具體平臺的API函數(shù),最后還要經(jīng)過編譯,編譯成具體的平臺的ニ進制代碼才能夠運行。以這種方式設計的Widget不易維護,不易移植,通用性差。針對上述現(xiàn)有技術的Widget設計方案中存在的不易維護、不易移植以及通用性 差的問題,目前尚未提出有效的解決方案。
發(fā)明內容
本發(fā)明的主要目的在于提供ー種Widget應用方法、系統(tǒng)及多媒體終端,以解決現(xiàn)有技術的Widget設計方案中存在的不易維護、不易移植以及通用性差的問題。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一方面,提供了ー種Widget應用方法。根據(jù)本發(fā)明的Widget應用方法包括創(chuàng)建XML腳本文件和JavaScript腳本文件;通過Widget引擎來讀取并解析XML腳本文件和JavaScript腳本文件,以調用對應的ー個或多個類函數(shù);運行類函數(shù)來實現(xiàn)對應的功能。進ー步地,在通過Widget引擎來讀取并解析XML腳本文件和JavaScript腳本文件,以調用對應的ー個或多個類函數(shù)的步驟包括通過XML解析模塊來讀取并解析XML腳本文件,以獲取XML腳本文件中的控件屬性;根據(jù)控件屬性來調用類函數(shù)中用于創(chuàng)建圖形界面的圖形函數(shù)。進ー步地,在通過Widget引擎來讀取并解析XML腳本文件和JavaScript腳本文件,以調用對應的ー個或多個類函數(shù)的步驟包括通過JavaScript解析模塊來讀取并解析JavaScript腳本文件,以獲取JavaScript腳本文件中的對象屬性;根據(jù)對象屬性來調用ー個或多個類函數(shù),其中,類函數(shù)包括輸入法函數(shù)、DOM函數(shù)、XML鏈接請求函數(shù)以及多媒體播放器函數(shù)。進ー步地,將操作系統(tǒng)的API函數(shù)和硬件的控制函數(shù)封裝成類函數(shù)。進ー步地,在運行類函數(shù)來實現(xiàn)對應的功能之前,方法還包括外部控制設備發(fā)出控制指令來觸發(fā)Widget引擎中的類函數(shù),在類函數(shù)運行的過程中,如果外部控制設備發(fā)出中斷指令,則退出運行類函數(shù)對應的功能。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另ー個方面,提供了ー種Widget應用系統(tǒng)。根據(jù)本發(fā)明的Widget應用系統(tǒng)包括Widget腳本文件單元,用于創(chuàng)建并保存XML腳本文件和JavaScript腳本文件;Widget引擎,讀取并解析XML腳本文件和JavaScript腳本文件,以調用對應的ー個或多個類函數(shù);處理單元,用于運行類函數(shù)來實現(xiàn)對應的功能。
進ー步地,Widget引擎包括類函數(shù)模塊,用于保存一個或多個類函數(shù),類函數(shù)包括圖形函數(shù)、輸入法函數(shù)、DOM函數(shù)、XML鏈接請求函數(shù)以及多媒體播放器函數(shù);適配模塊,用于將操作系統(tǒng)的API函數(shù)和硬件的控制函數(shù)封裝成類函數(shù),并提供適配接ロ來適配多種操作系統(tǒng)和硬件;解析模塊,用于通過XML解析模塊來讀取并解析XML腳本文件,以獲取XML腳本文件中的控件屬性,井根據(jù)控件屬性來調用類函數(shù)中用于創(chuàng)建圖形界面的圖形函數(shù);通過JavaScript解析模塊來讀取并解析JavaScript腳本文件,以調用各個類函數(shù)的功倉^:。進ー步地,系統(tǒng)還包括外部控制設備,用于發(fā)出控制指令來觸發(fā)運行Widget引擎中的類函數(shù)。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的再一方面,提供了ー種多媒體終端,該多媒體終端包括上述任意ー種Widget應用系統(tǒng)。進ー步地,Widget引擎,用于封裝ー個或多個類函數(shù),通過讀取并解析XML腳本文 件和JavaScript腳本文件來調用對應的類函數(shù),并提供適配接ロ來適配多種操作系統(tǒng)和硬件。進ー步地,多媒體終端可以是電視機、手機或者計算機。通過本發(fā)明,采用創(chuàng)建XML腳本文件和JavaScript腳本文件;通過Widget引擎來讀取并解析XML腳本文件和JavaScript腳本文件,以調用對應的ー個或多個類函數(shù);運行類函數(shù)來實現(xiàn)對應的功能,解決了現(xiàn)有技術的Widget設計方案中存在的不易維護、不易移植以及通用性差的問題,達到了提高開發(fā)人員的工作效率的效果。
此處所說明的附圖用來提供對本發(fā)明的進ー步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中圖I是根據(jù)本發(fā)明實施例的Widget應用系統(tǒng)的功能結構示意圖;圖2是根據(jù)本發(fā)明實施例優(yōu)選的Widget應用系統(tǒng)的結構示意圖;圖3是根據(jù)本發(fā)明實施例的通過繪制函數(shù)繪制用戶界面的示意圖;圖4是根據(jù)本發(fā)明實施例的Widget應用方法的流程圖;以及圖5是根據(jù)本發(fā)明實施例優(yōu)選的Widget應用方法的工作流程圖。
具體實施例方式需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發(fā)明。本發(fā)明提供了ー種Widget應用方法、系統(tǒng)及多媒體終端。圖I是根據(jù)本發(fā)明實施例的Widget應用系統(tǒng)的功能結構示意圖。如圖I所示,該系統(tǒng)包括=Widget腳本文件單元10,用于創(chuàng)建并保存XML腳本文件和JavaScript腳本文件;Widget引擎30,讀取并解析XML腳本文件和JavaScript腳本文件,以調用對應的ー個或多個類函數(shù);處理單元50,用于運行類函數(shù)來實現(xiàn)各種類對應的功能。本發(fā)明上述實施例提供了ー種Widget引擎(WigetEngine)的設計方案,該方案采用XML+JavaScript架構,其中,Widget界面的描述用XML文件來描述,而程序的實現(xiàn)則用JavaScript語言,這樣就把界面設計與程序編寫分離開來,使得界面美工人員和程序編寫人員可以完全分開進行獨立的工作。另外基于XML+JavaScript架構的Widget文件格式是純文本的,它的運行是靠WidgetEngine來運行,Widget只需使用這些通用的類來編程即可,Widget不必再編譯成具體的硬件平臺的ニ進制文件,只需要調用對應的功能函數(shù)就可以,從而提高了開發(fā)人員的工作效率。圖2是根據(jù)本發(fā)明實施例優(yōu)選的Widget應用系統(tǒng)的結構示意圖。如圖2所示,本發(fā)明上述實施例中的Widget引擎30可以包括類函數(shù)模塊,用于保存一個或多個類函數(shù),類函數(shù)包括圖形函數(shù)⑶I、輸入法函數(shù)、DOM函數(shù)、XML鏈接請求函數(shù)(XMLHttpRequest函數(shù))以及多媒體播放器函數(shù);適配模塊,用于將操作系統(tǒng)的API函數(shù)和硬件的控制函數(shù)封裝成類函數(shù),并提供適配接ロ來適配多種操作系統(tǒng)和硬件;解析模塊,用于通過XML解析模塊來讀取并解析XML腳本文件,以獲取XML腳本文件中的所有控件屬性,并根據(jù)控件屬性來調用用于創(chuàng)建圖形界面的圖形函數(shù);通過JavaScript解析模塊來讀取并解析JavaScript腳 本文件,以調用各個類函數(shù)的功能。上述實施例中,Widget引擎30提供了統(tǒng)ー通用的JavaScript類,這些類包括多媒體播放器,DOM, DOMNode, XmlHttpRequest, Array, Date等,另外提供了獨立統(tǒng)一的⑶I類包括^! view, div, button, listbox, edit, checkbox, combobox 等,而且 JavaScript 中使用的類基于Widget引擎30 (WidgetEngine)提供的,由于本發(fā)明通過解析模塊將底層操作系統(tǒng)的API函數(shù)以及硬件控制函數(shù)抽象封裝成上述類,因此不再直接調用具體平臺的API,當需要移植時,只要把WidgetEngine移植到其它平臺,那么Widget也就隨之移植到其它平臺,從而實現(xiàn)了 Widget的“一次編寫,處處運行”,使Widget完全與具體的硬件平臺和操作系統(tǒng)隔尚開來。具體的,上述實例中的Widget引擎30包含的各個功能模塊的詳細描述如下解析模塊可以包括XML解析模塊和JavaScript解析模塊。其中,XML解析模塊的功能如下由于Widget的界面描述是用XML語言描述,所以需要ー個XML解析模塊來解析出界面描述的XML文件中所有的控件信息,解析出每個控件(比如按鈕、標簽、列表)的大小,位置,名稱,各種屬性,將來用這些屬性來具體繪制出具體的界面來。JavaScript解析模塊Widget的動作、要完成的功能都用JavaScript文件來編寫,而JavaScript文件僅僅是ー個文件,因此需要ー個JavaScript解析器來完成解析功能,真正實現(xiàn)JavaScript文件要實現(xiàn)的功能。另外JavaScript解析模塊還會把底層操作系統(tǒng)的API函數(shù)以及硬件的控制函數(shù)抽象封裝成一個類供JavaScript文件使用,這樣Widget要實現(xiàn)什么樣的功能就不必直接調用具體的操作系統(tǒng)的函數(shù)和硬件API來實現(xiàn),實現(xiàn)了 Widget與具體操作系統(tǒng)和硬件平臺的隔離。上述模塊中涉及到的各個類函數(shù)對應不同的功能,運行類函數(shù)可以實現(xiàn)用戶的功能需求。例如,通過調用圖形函數(shù)來實現(xiàn)GUI系統(tǒng)的功能,該系統(tǒng)用于完成具體的界面繪制,Widget的界面文件被XML解析ホ吳塊解析成各種控件后就會調用GUI系統(tǒng)的界面繪制函數(shù)具體繪制出界面呈現(xiàn)給用戶。具體的可以以如下的實例進行描述一個關于顯示圖形功能的xml文件くview height="300" width="400" onopen="view_onOpen()">
くdiv height=" 100%" name="divl" width=M100%" x=M0M y=M0M background=M#FFFFFFM> 〈label enabled="tme" height=" 137" name="labell" width=" 188" x="64" y="38" onclick="labell_onclick()" size=" 12" wordwrap="tme"
>Hello world!This is my first example.Widget is very simple.
</label>
く button height="22" name= "button I" width="64" x="205" y="202"onclick="buttonl_onclick()"
downlmage="stock images\button down.png" image="stock_images\button_up.png" overImage=Mstock_images\button_over.png" caption=”確定V>く button height=M22" name="button2M width=M64" x=M296M y=M202M
downImage=Mstock—images\button—down.png"
image="stock images\button up.png” overimage="stock images\button over.png" caption="退出"/>
</div>
くscript src="main.js" />
</view>在保存上述XML文件之后,可以通過XML解析模塊來解析上述XML文件中的內容,讀到view的大小是高300,寬400,那么就會先創(chuàng)建ー個300X400的窗ロ ;然后又讀到view中有個div控件,這個div的X, y是(0,0),大小是與view的大小相同(因為width =“100%”height =“100%”),背景是白色(background =”#FFFFFF”),那么就會在已創(chuàng)建的窗口中畫一個與view大小相同的白色區(qū)域;當讀到div下邊的label信息后又會在那個綠色區(qū)域中創(chuàng)建一個 label, label 的內容是“Hello world ! This is my first example.Widget is very simple. 同理最后又會創(chuàng)建兩個button,—個button的標題是“0K”, 一個標題是“Cancel”。這樣最終畫出的界面就會是如圖3所示的界面。類函數(shù)模塊可以包括XML鏈接請求函數(shù)模塊、DOM模塊、多媒體播放器模塊、輸入法函數(shù)。其中,XML鏈接請求函數(shù)(XMLHttpRequest)模塊的功能如下該模塊用來實現(xiàn)當Widget要聯(lián)網(wǎng)獲取數(shù)據(jù)即通過XMLHttpRequest類來實現(xiàn),XMLHttpRequest模塊即封裝了ー個XMLHttpRequest類,該類能完成聯(lián)網(wǎng)功能,同時能根據(jù)用戶的指令從網(wǎng)上獲取不同的數(shù)據(jù),這樣就實現(xiàn)了 Widget的聯(lián)網(wǎng)獲取數(shù)據(jù)功能。DOM模塊由于XML強大的通用性,現(xiàn)在許多網(wǎng)站的數(shù)據(jù)都是以XML格式表示,通過XmlHttpRequest類獲取的數(shù)據(jù)也有很多是XML格式的數(shù)據(jù),要想分析這些數(shù)據(jù)需要用到標準的DOM。DOM模塊即封裝了ー個DOM類供JavaScript使用來解析XML文件并顯示各種
咨詢信息。
多媒體播放器模塊該模塊主要實現(xiàn)通用的多媒體播放功能。例如,可以調用播放器模塊來播放flash。輸入法函數(shù),調用該函數(shù)可以提供輸入漢字,英文字符,標點符號等輸入數(shù)據(jù)的功倉^:。適配模塊可以包括操作系統(tǒng)適配模塊和硬件適配模塊。其中,操作系統(tǒng)適配模塊可以實現(xiàn)把具體的操作系統(tǒng)的API封裝成通用的模塊供上層用戶調用,上層用戶不再直接調用具體操作系統(tǒng)的API,實現(xiàn)了 Widget與操作系統(tǒng)和硬件系統(tǒng)的隔離。這些操作系統(tǒng)的API包括任務的創(chuàng)建、刪除;信號量的創(chuàng)建、刪除、使用;互斥量的創(chuàng)建、刪除、使用等。其它模塊如果需要創(chuàng)建任務,使用信號量,那么都會調用操作系統(tǒng)適配模塊中的API來實現(xiàn),操作系統(tǒng)適配模塊的API可能被模塊I到7中任意一個模塊使用。
硬件適配模塊實現(xiàn)把具體的硬件操作函數(shù)封裝成通用的函數(shù)供上層用戶使用,上層用戶不再直接操作真正的硬件,實現(xiàn)Widget與具體硬件平臺的隔離。如圖2所示,比如多媒體模塊要播放音樂時會操作到具體的底層硬件播放器,那么硬件適配模塊就會提供ー套通用的操作底層音樂播放器的API供多媒體播放模塊使用;而GUI模塊在繪圖時也會操作底層硬件來繪圖,硬件適配模塊也會提供ー套通用的底層硬件繪圖函數(shù)給⑶I模塊使用。這樣這些模塊只需調用硬件適合模塊中的函數(shù),而不必直接調用真正底層的硬件函數(shù)來實現(xiàn)對應的功能。優(yōu)選地,本發(fā)明的Widget應用系統(tǒng)還可以包括外部控制設備,外部控制設備發(fā)出控制指令來觸發(fā)Widget引擎中的類函數(shù),在類函數(shù)運行的過程中,如果外部控制設備發(fā)出中斷指令,則退出運行類函數(shù)對應的功能。圖4是根據(jù)本發(fā)明實施例的Widget應用方法的流程圖。如圖3所示,該方法包括如下步驟步驟S102,通過圖I中的Widget腳本文件單元10來創(chuàng)建XML腳本文件和JavaScript腳本文件。步驟S104,通過圖I中的Widget引擎來讀取并解析Widget腳本文件單元10中的XML腳本文件和JavaScript腳本文件,以調用對應的ー個或多個類函數(shù)。步驟S106,通過圖I中的處理模塊來運行由Widget引擎獲得的類函數(shù)來實現(xiàn)各種類對應的功能。本發(fā)明上述實施例提供了ー種具有Widget引擎(WigetEngine)的Widget設計方案,該方案采用XML+JavaScript架構,其中,Widget界面通過XML文件來描述,而程序的實現(xiàn)則用JavaScript語言,這樣就把界面設計與程序編寫分離開來,使得界面美工人員和程序編寫人員可以完全分開進行獨立的工作,提高了工作人員的工作效率。另外基于XML+JavaScript架構的Widget文件格式是純文本的,它的運行是靠WidgetEngine來運行,Widget只需使用這些通用的類來編程即可,Widget不必再編譯成具體的硬件平臺的ニ進制文件,只需要調用對應的功能函數(shù)就可以,從而提高了開發(fā)人員的工作效率。上述實施例中,在通過Widget引擎來讀取并解析XML腳本文件和JavaScript腳本文件,以調用對應的ー個或多個類函數(shù)的步驟104可以包括如下一種實施方式通過XML解析模塊來讀取并解析XML腳本文件,以獲取XML腳本文件中的所有控件屬性;根據(jù)控件屬性來調用用于創(chuàng)建圖形界面的圖形函數(shù)。該實施方案實現(xiàn)圖形界面的實現(xiàn),是需要在XML腳本文件中輸入需求,就可以通過Widget引擎來獲取解析后的圖形界面。另外的,在通過Widget引擎來讀取并解析XML腳本文件和JavaScript腳本文件,以調用對應的ー個或多個類函數(shù)的步驟還可以包括如下另外ー種實施方式通過JavaScript解析模塊來讀取并解析JavaScript腳本文件,以獲取JavaScript腳本文件中的對象屬性;根據(jù)對象屬性來調用ー個或多個類函數(shù),其中,類函數(shù)包括輸入法函數(shù)、DOM函數(shù)、XML鏈接請求函數(shù)以及多媒體播放器函數(shù)。該步驟實現(xiàn)通過JavaScript解析模塊解析JavaScript腳本文件,可以調用已經(jīng)封裝好的功能函數(shù),實現(xiàn)各個函數(shù)對應的功能。上述各個實施例中可以將操作系統(tǒng)的API函數(shù)和硬件的控制函數(shù)抽象封裝成類函數(shù)。優(yōu)選的,在運行類函數(shù)來實現(xiàn)各種類對應的功能之前,方法還包括外部控制設備發(fā)出控制指令來觸發(fā)Widget引擎中的類函數(shù),在類函數(shù)運行的過程中,如果外部控制設備發(fā)出中斷指令,則退出運行類函數(shù)對應的功能。該外部控制設備可以是遙控器或者其他控制設備。圖5是根據(jù)本發(fā)明實施例優(yōu)選的Widget應用方法的工作流程圖。如圖5所示,該方法包括如下步驟步驟S201,讀取并解析XML文件,調用⑶I繪制主界面。該步驟中Widget引擎讀入XML文件,并用XML解析模塊來解析出各個控件的各種屬性,根據(jù)各個屬性來調用GUI模塊對應的類函數(shù)來繪制出主界面。步驟S202,讀取并解析JavaScript文件,準備運行Widget。該步驟中Widget引 擎讀入JavaScript文件,并用JavaScript解析模塊來解析JavaScript文件,開始執(zhí)行JavaScript文件中的命令,調用底層各種模塊來完成Widget要做的動作,從而實現(xiàn)對應的功能。具體的,該步驟中的解析過程可以以電視機中的Widget引擎的工作過程來描述首先,使用計算機通過編譯器將第三方引擎編譯成庫文件。第三方引擎加入到TVWidget引擎中,需要先將第三方引擎的源代碼進行編譯,編譯成相應的庫文件以便于解碼芯片識別,由于解碼芯片不同,編譯器也不相同,需要使用應用第三方引擎芯片的編譯器進行編譯,并將編譯后的庫文件嵌入到解碼芯片中。其次,可以通過Widget弓丨擎控制第三方引擎建立JavaScript腳本運行環(huán)境。該步驟中只有建立的JavaScript腳本運行環(huán)境,JavaScript腳本文件才可以運行,這樣才能執(zhí)行后續(xù)的解析過程。在建立JavaScript腳本運行環(huán)境的過程中,可以包括以下幾個步驟S31 :通過第三方引擎創(chuàng)建ー個腳本運行時環(huán)境。S32 :通過第三方引擎在創(chuàng)建的運行時環(huán)境中再創(chuàng)建腳本運行上下文。S33 :通過第三方引擎配置已經(jīng)創(chuàng)建的腳本運行上下文。S34 :通過第三方引擎在創(chuàng)建的腳本運行上下文中創(chuàng)建類。S35 :最后將第三方引擎中內置的類賦予新創(chuàng)建的一個對象中,以便于JavaScript腳本使用。在本實施例中,如果第三方引擎采用SpiderMonkey引擎,貝U上述在步驟S31中使用SpiderMonkey引擎的JS_NewRuntime函數(shù)來創(chuàng)建腳本運行時環(huán)境。優(yōu)選地,需要用到SpiderMonkey引擎的JS_NewContext函數(shù)創(chuàng)建腳本運行上下文。在步驟S33 中使用 SpiderMonkey 引擎的 JS_SetOptions、JS_SetVersion> JS_SetErrorReporter等函數(shù)來配置相關的參數(shù)選項。在步驟S34中先要用SpiderMonkey引擎的JS_NewObject來創(chuàng)建一個對象。在步驟S35中用JS_InitStandardClasses函數(shù)使該新創(chuàng)建的對象具有SpiderMonkey引擎內置的各種標準類的功能。在用JS_NewObject函數(shù)創(chuàng)建對象時,該對象的 flags 必須設為 JSCLASS_GLOBAL_FLAGS。通過上面的這些設置,在Widget引擎中創(chuàng)建了 JavaScript腳本環(huán)境,倉Il建了具有第三方引擎內置標準類的功能的對象,JavaScript腳本即可使用第三方引擎內置的標準的 類。然后,Widget引擎解析出Widget中的JavaScript腳本文件。Widget引擎可以從Widget各種文件中解析出JavaScript腳本文件,以供第三方解析引擎解析。最后,Widget引擎通過第三方引擎解析運行JavaScript腳本文件。該步驟中采用解析運行JavaScript腳本文件來將widget程序中的功能展示給用戶,執(zhí)行如播放音樂、查看天氣等操作。運行JavaScript腳本文件過程主要包括以下兩種方式第一種方式解碼芯片把JavaScript腳本當作ー個字符緩沖區(qū)來運行。即把腳本文件所有內容讀到ー個緩沖區(qū)中,然后調用JS_EvaluateScript函數(shù),并把緩沖的地址和長度分別作為其第三、第四個參數(shù)傳遞過去,即可完成JavaScript腳本的運行。此外還有JS_EvaluateUCScript函數(shù),該函數(shù)也完成相同的功能,可用來編譯Unicode字符串。采用這種方式只運行一次解析出的JavaScript腳本文件。第二種方式解碼芯片先把JavaScript腳本文件編譯后運行。即先調用函數(shù)JS_CompileFile,把要編譯的JavaScript腳本的文件名傳給該函數(shù),作為其第三個參數(shù)。該函數(shù)調用成功后,會返回ー個JSScript指針類型的變量,然后再把該返回結果傳給函數(shù)JS_ExecuteScript,作為其第三個參數(shù)。這樣也完成了 JavaScript腳本的運行。由于返回了JSScript指針類型的變量,可通過調用該變量,多次運行解析出的JavaScript腳本。步驟S203,主循環(huán)開始。當步驟S201,步驟S202的工作完成后即能進入主循環(huán),在主循環(huán)中的工作即下述步驟S204中描述的工作。步驟S204,通過外部控制設備上的按鍵來發(fā)送不同消息控制Widget運行。例如,該外部控制設備是遙控器,電視機/計算機/手機可以不停地接收的遙控的按鍵值,并把按鍵值發(fā)送給運行中Widget,以觸發(fā)不同的事件,完成不同的功能,即通過按鍵發(fā)出的控制信息來調用響應的功能函數(shù)來實現(xiàn)對應的功能。具體按鍵值會觸發(fā)什么功能由具體Widget來決定,比如ー個Widget收到向上鍵會把一幅圖片向上移動,而另ー個Widget收到向上鍵后會把焦點從ー個按鈕移到上個按鈕。步驟S205,判斷是否收到退出鍵的控制信號,如果接收到退出按鍵則進入步驟S206來結束Widget的執(zhí)行,完成Widget銷毀動作,從而結束WidgetEngine的運行,回收所有資源,比如內存資源,但不退出電視機的運行,否則,返回繼續(xù)檢測石佛收到退出鍵的控制信號。該步驟是的用戶可以按照需求選擇是否允許WidgetEngine,提高了用戶體驗。步驟S206,主循環(huán)結束,系統(tǒng)結束對Widget的執(zhí)行。步驟S207,收尾工作,退出。需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。本發(fā)明還提供了ー種多媒體終端,該多媒體終端包括上述任ー種Widget應用系統(tǒng)的實施方式。其中,該Widget應用系統(tǒng)可以包括Widget引擎,用于封裝ー個或多個類函數(shù),通過讀取并解析XML腳本文件和JavaScript腳本文件來調用對應的類函數(shù),并提供適配接ロ來適配多種操作系統(tǒng)和硬件?;谠揥idget引擎,使得Widget應用系統(tǒng)在前端 讀取不同腳本文件以便于獨立編寫程序調試的同時,可以通過widget引擎模塊將各個類函數(shù)封裝,增強整個應用模塊的可移植性。優(yōu)選地,多媒體終端可以是電視機、手機或者計算機。從以上的實施例描述中,可以看出,本發(fā)明實現(xiàn)了如下技術效果由于本發(fā)明通過解析模塊將底層操作系統(tǒng)的API函數(shù)以及硬件控制函數(shù)抽象封裝成上述類,因此不再直接調用具體平臺的API,當需要移植時,只要把WidgetEngine移植到其它平臺,那么Widget也就隨之移植到其它平臺,從而實現(xiàn)了 Widget的“一次編寫,處處運行”,使Widget完全與具體的硬件平臺和操作系統(tǒng)隔離開來,解決了現(xiàn)有技術的Widget設計方案中存在的不易維護、不易移植以及通用性差的問題,達到了提高開發(fā)人員的工作效率的效果。顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成多個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.ー種Widget應用方法,其特征在于,包括 創(chuàng)建XML腳本文件和JavaScript腳本文件; 通過Widget引擎來讀取并解析所述XML腳本文件和所述JavaScript腳本文件,以調用對應的ー個或多個類函數(shù); 運行所述類函數(shù)來實現(xiàn)對應的功能。
2.根據(jù)權利要求I所述的方法,其特征在于,在通過Widget引擎來讀取并解析所述XML腳本文件和所述JavaScript腳本文件,以調用對應的ー個或多個類函數(shù)的步驟包括 通過XML解析模塊來讀取并解析所述XML腳本文件,以獲取所述XML腳本文件中的控件屬性; 根據(jù)所述控件屬性來調用所述類函數(shù)中用于創(chuàng)建圖形界面的圖形函數(shù)。
3.根據(jù)權利要求I所述的方法,其特征在于,在通過Widget引擎來讀取并解析所述XML腳本文件和所述JavaScript腳本文件,以調用對應的ー個或多個類函數(shù)的步驟包括 通過JavaScript解析模塊來讀取并解析所述JavaScript腳本文件,以獲取所述JavaScript腳本文件中的對象屬性; 根據(jù)所述對象屬性來調用ー個或多個類函數(shù),其中,所述類函數(shù)包括輸入法函數(shù)、DOM函數(shù)、XML鏈接請求函數(shù)以及多媒體播放器函數(shù)。
4.根據(jù)權利要求1-3中任一項所述的方法,其特征在于,將操作系統(tǒng)的API函數(shù)和硬件的控制函數(shù)封裝成所述類函數(shù)。
5.根據(jù)權利要求4所述的方法,其特征在干,在運行所述類函數(shù)來實現(xiàn)對應的功能之前,所述方法還包括 外部控制設備發(fā)出控制指令來觸發(fā)所述Widget引擎中的所述類函數(shù),在所述類函數(shù)運行的過程中,如果所述外部控制設備發(fā)出中斷指令,則退出運行所述類函數(shù)對應的功能。
6.ー種Widget應用系統(tǒng),其特征在于,包括 Widget腳本文件單元,用于創(chuàng)建并保存XML腳本文件和JavaScript腳本文件; Widget引擎,讀取并解析所述XML腳本文件和所述JavaScript腳本文件,以調用對應的ー個或多個類函數(shù); 處理單元,用于運行所述類函數(shù)來實現(xiàn)對應的功能。
7.根據(jù)權利要求6所述的系統(tǒng),其特征在于,所述Widget引擎包括 類函數(shù)模塊,用于保存一個或多個類函數(shù),所述類函數(shù)包括圖形函數(shù)、輸入法函數(shù)、DOM函數(shù)、XML鏈接請求函數(shù)以及多媒體播放器函數(shù); 適配模塊,用于將操作系統(tǒng)的API函數(shù)和硬件的控制函數(shù)封裝成所述類函數(shù),并提供適配接ロ來適配多種操作系統(tǒng)和硬件; 解析模塊,用于通過所述XML解析模塊來讀取并解析所述XML腳本文件,以獲取所述XML腳本文件中的控件屬性,并根據(jù)所述控件屬性來調用所述類函數(shù)中用于創(chuàng)建圖形界面的圖形函數(shù);通過所述JavaScript解析模塊來讀取并解析所述JavaScript腳本文件,以調用各個所述類函數(shù)的功能。
8.根據(jù)權利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 外部控制設備,用于發(fā)出控制指令來觸發(fā)運行所述Widget引擎中的所述類函數(shù)。
9.ー種多媒體終端,其特征在于,包括上述權利要求6-8中任一項所述的Widget應用系統(tǒng)。
10.根據(jù)權利要求9所述的多媒體終端,其特征在于,所述Widget應用系統(tǒng)包括Widget引擎,用于封裝ー個或多個類函數(shù),通過讀取并解析所述XML腳本文件和所述JavaScript腳本文件來調用對應的所述類函數(shù),并提供適配接ロ來適配多種操作系統(tǒng)和硬件。
全文摘要
本發(fā)明公開了一種Widget應用方法、系統(tǒng)及多媒體終端。其中,該方法包括創(chuàng)建XML腳本文件和JavaScript腳本文件;通過Widget引擎來讀取并解析XML腳本文件和JavaScript腳本文件,以調用對應的一個或多個類函數(shù);運行類函數(shù)來實現(xiàn)對應的功能。通過本發(fā)明,能夠提高開發(fā)人員的工作效率。
文檔編號G06F17/30GK102693238SQ20111007139
公開日2012年9月26日 申請日期2011年3月23日 優(yōu)先權日2011年3月23日
發(fā)明者段寶山 申請人:青島海信電器股份有限公司