專利名稱:基于Brew的一種動態用戶界面的體系結構和實現方法
專利說明基于Brew的一種動態用戶界面的體系結構和實現方法 本發明涉及計算機、網絡通信和電話技術領域,尤其涉及一種基于BREW平臺的動態用戶界面的體系結構和實現方法。BREW--------是無線二進制運行環境(Binary Runtime Environment for Wireless),是高通公司2001年推出的基于CDMA網絡“無線互聯網發射平臺”上增值業務開發運行的基本平臺。目前在國內,只有中國聯通的CDMA手機支持BREW平臺。
“神奇寶典”BREW業務,是中國聯通推出的,基于CDMA 1X強大的移動通信功能,在BREW技術平臺上,提供高速數據下載業務。用戶通過下載BREW應用軟件到BREW終端上運行來實現眾多功能,用戶的手機可以下載各種功能的軟件來實現手機的個性化。通過BREW接口功能,供應商可以提供成套的完整的資訊、商務、娛樂BREW應用軟件供用戶下載。
“神奇寶典”BREW業務的核心是“無線數據下載”,BREW手機可以從網上下載游戲、動漫畫、小小說等,也可進行各種在線應用,如聯網游戲、收發郵件、證券炒股、信息查詢等。
基于BREW平臺的各種BREW應用,都需要經過開發、測試、業務審核、上傳高通服務器和做目錄等幾個環節,才能供BREW手機用戶下載使用。
在現有技術中,BREW平臺下應用體系結構模型如
圖1所示,BREW終端(200)如果下載或是更新升級軟件只能通過移動通信網絡與應用服務器(300)進行通信來實現。其中,應用服務器(300)是由高通公司提供的,軟件開發商開發出來的BREW應用軟件經過嚴格的測試(為了保證BREW應用及BREW終端的正常運行而必須進行的測試)后,才能上傳到該服務器上,供BREW終端(200)下載使用。這樣的體系結構就決定了軟件開發商提交一個新的應用上線都要經過很多程序,比如開發、內測、UBT測試、業務評審、上傳應用服務器、做目錄等步驟,才能與BREW手機用戶見面,從而花費了很多的精力和時間;如果軟件開發商希望對已經上線的BREW應用進行軟件升級,同樣需要走相同煩瑣的流程。
如圖2所示,傳統的BREW終端程序包括應用執行層(203)、BREW API層(204)、OEM層(205)和BREW終端硬件層(206);BREW應用軟件中的可執行程序和UI腳本文件都固化在應用執行層(203)中。
BREW終端硬件層(206)由硬件芯片組成,完成特定的功能,比如硬件支持語音通話和短信等功能,位于體系結構的最底層;OEM層(Original Equipment Manufacture原始設備制造商)(205),是由手機開發廠家開發的介于BREW API層(204)和BREW終端硬件層(206)之間的一個層,負責驅動和管理硬件設備。同時把硬件的使用和操作進行封裝,使上層不必關心具體如何管理和操作硬件的細節;提供OEM接口供BREW API層(204)調用。
BREW API層(204)是按高通公司的要求統一實現的接口(Application ProgrammingInterface應用程序編程接口),方便BREW應用開發商在BREW API層(204)上進行軟件和應用開發,該接口與手機機型和屏幕等硬件參數無關,可以方便進行移植開發等。
應用執行層(203),就是開發商基于BREW平臺具體開發出的應用,可以在BREW平臺上運行執行,完成軟件功能。
目前的BREW應用開發主要存在以下缺點1、BREW應用程序的UI(User Interface用戶界面)和功能邏輯是固定不能改變的,是固化在應用程序的執行文件中的。如果軟件開發者想改變BREW應用的UI和功能邏輯,或是要修改在BREW應用程序中發現的BUG(程序中微小的錯誤),除了重新測試提交升級版本之外,再沒有其他的辦法可用,這就導致BREW應用的擴展性和可維護性差。
2、開發中重復工作過多。由于BREW應用上線需要通過聯通的UBT測試,UBT測試是有一套嚴格的規范的,尤其是對UI部分和功能方面都有很高的要求,所以在UI設計開發中有很多重復的工作,比如積分模塊,幫助和關于模塊的開發,幾乎都是每個BREW應用必須要面對的工作。每個應用都重新開發相同的模塊,增加了潛在的系統不穩定性。
3、對已經上線的BREW應用進行升級,也需要經過和新應用上線一樣流程,效率很低,影響BREW應用升級的速度,BREW手機用戶不能更快體驗到升級版軟件所帶來的新的樂趣;若發現BREW應用中存在新的問題,軟件開發商也不能對BREW手機用戶的要求做出及時的反應。本發明要解決的技術問題是提供基于Brew的一種動態用戶界面的體系結構和實現方法,一方面,避免了在Brew應用軟件開發中,對基本模塊的重復開發工作,加快Brew應用軟件開發的速度,且能夠提高系統的穩定性;另一方面,避免了對已經上線的BREW應用進行升級所必經的煩瑣流程,增強了BREW應用的擴展性和可維護性,使BREW手機用戶能在第一時間體驗到升級版軟件所帶來的新的樂趣。
本發明是通過下面的技術方案來實現的基于BREW的一種動態用戶界面的實現方法,包括以下步驟1001、BREW終端通過internet網絡從應用腳本服務器下載更新的BREW應用的UI腳本文件;1002、BREW終端中的UI腳本解釋層對所述UI腳本文件進行解釋,對UI的配置數據結構進行填充,生成一個UI描述表;1003、BREW終端中的應用執行層從所述UI描述表入口取得UI描述,對UI進行繪制,并在BREW終端屏幕上顯示所繪制的主程序菜單界面。
步驟1001中進一步包括2001、所述BREW終端通過移動通信網絡,從應用服務器下載BREW應用;2002、當BREW終端運行所述BREW應用時,BREW終端采用TCP方式通過internet網絡與應用腳本服務器進行連接,以檢查應用腳本服務器中是否存在該BREW應用更新的UI腳本文件;若存在,則BREW終端下載該更新的UI腳本文件替換原有的UI腳本文件;否則,BREW終端中的UI腳本文件保持不變。
步驟2002中進一步包括3001、BREW終端與應用腳本服務器進行連接時,應用腳本服務器對BREW應用的名稱、有效性和安全性進行檢查;3002、在通過安全檢查后,再對所述BREW應用的版本進行檢查,若有更新的版本,則向BREW終端發送版本升級的提示信息;3003、BREW終端對該提示信息進行確認,并與應用腳本服務器進行通訊,從而獲取更新的BREW應用的UI腳本文件。
步驟3003中進一步包括應用腳本服務器根據BREW終端的確認信息所提供的BREW終端平臺號,選定與該BREW終端相匹配的更新的UI腳本文件下發給BREW終端。
步驟1002中UI腳本解釋層對所述UI腳本文件進行解釋進一步包括UI腳本解釋層讀取UI腳本文件到緩沖區,并對UI腳本文件進行詞法分析和語法分析。
步驟1003中進一步包括當有事件觸發時,應用執行層通過當前UI描述表找到主菜單界面下對該事件的處理方法,并把描述指針指向UI描述表中與該處理方法對應的索引值,從而獲取該狀態事件的UI描述。
基于BREW的一種動態用戶界面的體系結構,包括通過移動通信網絡進行通訊的應用服務器和BREW終端,所述BREW終端可從應用服務器下載BREW應用,所述BREW終端包括應用執行層、BREWAPI層、OEM層及BREW終端硬件層,還包括通過internet網絡與BREW終端進行通訊的應用腳本服務器,所述應用腳本服務器向BREW終端提供更新的BREW應用的UI腳本文件。
本發明的進一步改進在于,所述BREW終端還包括UI腳本描述層和UI腳本解釋層,所述UI腳本解釋層對UI腳本描述層進行解釋,生成UI描述表,供應用執行層調用并執行。
本發明的進一步改進在于所述UI腳本描述層可由所述應用腳本服務器提供更新的BREW應用的UI腳本文件來替換。
本發明的進一步改進在于所述應用腳本服務器對BREW終端中BREW應用的名稱、有效性和安全性進行檢查,保證應用腳本服務器與BREW終端之間通訊的安全性。
本發明的進一步改進在于所述應用腳本服務器檢測其中是否存在更新的BREW應用的UI腳本文件,以確認是否能對BREW終端的BREW應用版本進行升級。
本發明的進一步改進在于所述應用腳本服務器根據BREW終端平臺號,選定與該BREW終端相匹配的更新的UI腳本文件下發給該BREW終端。
由于采用了以上技術方案,把UI腳本描述層和UI腳本解釋層從應用執行層中分離出來,在對BREW應用軟件進行升級時,BREW終端只需從應用腳本服務器下載更新的UI腳本文件替換掉原有的UI腳本文件,即可實現該BREW應用軟件的升級,這就避免了傳統BREW應用軟件進行升級所必經的如UBT測試等煩瑣的流程,加快了BREW應用升級軟件的開發速度,節約了時間,使BREW終端用戶可以及時方便地體驗BREW應用升級軟件帶來的樂趣,同時增加了BREW應用的自由度、可擴展性;在進行BREW平臺應用程序的開發中,可以使用容易書寫且易于理解的UI腳本來實現,不需要重新編寫程序的代碼;在跨平臺移植BREW應用時更加方便,此時僅僅需要修改執行文件中的UI腳本解釋層,而不需要更新UI腳本文件,即可實現BREW應用的移植。圖1是現有的BREW平臺下的應用體系結構模型圖。
圖2是傳統的BREW終端程序模塊圖。
圖3是本發明的動態用戶界面結構體系模型圖。
圖4是本發明的BREW終端程序模塊圖。
圖5是一個標準的BREW游戲主菜單界面圖。
圖6是UI腳本解釋層的工作流程圖。
圖7是動態用戶界面實現的流程圖。下面根據附圖和具體實施例對本發明作進一步地闡述。
如圖3所示,本發明的動態用戶界面結構體系圖是在現有技術的基礎之上,增加了應用腳本服務器100,其中,應用腳本服務器100與BREW終端200之間的通訊是通過internet互聯網來完成的,應用腳本服務器100中存放有更新的UI腳本文件供BREW終端200進行下載。
首先,BREW終端200通過移動通信網絡,如CDMA網絡,從應用服務器300上選擇下載BREW應用到本地;當BREW終端200運行所下載的BREW應用時,BREW終端200通過INTERNET網絡,使用TCP的方式連接應用腳本服務器100,同時應用腳本服務器100對BREW應用的名稱、有效性和安全性進行檢查,保證應用腳本服務器與BREW終端之間通訊的安全性,防止其他組織或者個人非法獲取和訪問UI腳本文件的內容;在通過安全檢查后,應用腳本服務器100檢查其中是否存在更新的BREW應用版本;若有更新的版本,則向BREW終端200發送版本升級的提示信息;在BREW終端200對該提示信息進行確認后,應用腳本服務器100根據該確認信息中攜帶的終端平臺號,選擇與該BREW終端200相匹配的更新的UI腳本文件下發給BREW終端200,BREW終端200接收該更新的UI腳本文件,并把原有的UI腳本文件替換成該更新的UI腳本文件,從而實現了BREW應用軟件的升級。
若沒有更新的版本,則BREW終端200中原有的UI腳本文件保持不變,BREW應用軟件沒有得到升級。
本發明的BREW終端程序模塊如圖4所示,除了包括傳統的BREW終端程序模塊,即應用執行層203、BREWAPI層204、OEM層205和BREW終端硬件層206,還包括UI腳本描述層201和UI腳本解釋層202,而在傳統BREW終端程序模塊中,UI腳本描述層201和UI腳本解釋層202的功能是固化在應用執行層203中的,因此想對BREW應用程序進行升級會存在很大的難度,而且必須提供完整的BREW終端升級程序才能實現。本發明是把UI腳本描述層201和UI腳本解釋層202從應用執行層203中分離出來,在進行BREW應用軟件的升級時,只需替換原有的UI腳本描述層201即可實現;在UI腳本描述層201與應用執行層203之間增加了UI腳本解釋層202,減少了UI和邏輯之間的耦合性,更好地實現了UI的動態加載,換言之,在修改程序時,不需要把每個層都重寫或是修改,僅僅是需要修改UI腳本解釋層202或是修改應用執行層203,或是修改UI腳本文件(UI腳本描述層201),對某個層的修改不會影響到其他層的正常工作。
UI腳本解釋層202對UI腳本描述層201進行解釋,生成對UI的描述,按協議對UI的配置數據結構進行填充,最終會生成一個以UI的狀態為主鍵的表,該表一直在內存中有效并且保持到應用程序關閉。主鍵就是用來唯一標識一個記錄的關鍵字。
應用執行層203針對表中的描述,繪制應用UI,當事件或是按鍵觸發時,執行模塊就會按照當前的狀態查找表中對當前事件或按鍵的描述,執行相應動作或是跳轉到相應的UI。
在腳本文件中描述一個軟件的UI和邏輯,由解釋層解釋,再由執行層執行。這樣,我們改變腳本描述就達到了改變軟件的UI和邏輯的目的,如一個界面由背景,菜單,按鈕組成,原腳本文件描述了5個菜單,2個按鈕,我們通過修改腳本文件,描述為6個菜單和3個按鈕,就很方便的改變了軟件的界面。
如果我們進行軟件升級或是軟件的跨平臺移植,不希望對軟件界面進行修改,只需要對應用的UI腳本解釋層202進行修改,而不必修改UI腳本文件,把同樣的UI腳本文件解釋成不同操作系統自己所能理解代碼,交由應用執行層203執行。
BREW終端的軟件安裝包中包括目標執行文件*.mod文件,應用所需的資源文件*.bar,動態加載的UI腳本文件*.tsp文件等。
下面對UI腳本描述層201和UI腳本解釋層202進行詳細的介紹1、UI腳本描述層201Tsp文件就是實現了UI腳本描述層201的功能,Tsp文件就是UI腳本文件,該文件具體的描述了UI的元素例如按鈕、菜單、文字提示、圖形、輸入框等控件的屬性和顯示位置等各種屬性,該文件還描述了UI的狀態切換,即對各種事件或按鍵觸發進行動作或是進行響應等。程序啟動后就會首先讀取腳本數據,重構程序UI和邏輯等。
以一個簡單的腳本例子可以更好的理解該發明,如圖5所示,是一個標準的BREW游戲主菜單界面圖,這個界面圖的Tsp文件描述如下<TSP version=″1.0″><name>TestGame</name>
……在這部分主要描述BREW應用的版本號,以便以后自動升級的時候比較版本,和BREW應用的名稱。
<Status>C_MAINMENU<background>
<image>
<path>Res</path>
<title>R_I_IMAGE<title>
<x>0</x>
<y>0</y>
</image>
……</background><menu>
<text>”開始游戲”</text>
<x>x_Center</x>
<y>y_Center</y>
……</menu><button>
<text>”進入”</text>
<x>x_Left_Menu</x>
<y>y_Menu</y>
<text>”退出”</text>
<x>x_Right_Menu</x>
<y>y_Menu</y></button><onEvent>
<avk_softl>
<onstatus>C_STATUS_START</onstatus>
<onstatus>C_STATUS_SET</onstatus>
<onstatus>C_STATUS_HELP</onstatus>
<onstatus>C_STATUS_ABOUT</onstatus>
</avk_softl>
……</onEvent>……</status>
該腳本簡單描述了有4個菜單(開始游戲、游戲設定、游戲幫助、游戲關于)和2個按鈕(進入、退出)的UI及各種觸發事件的處理邏輯。
2、UI腳本解釋層202在目標執行文件*.mod文件中,除了包含應用邏輯和計算以外,還包括了自主開發的UI腳本解釋層202,UI腳本解釋層202對UI腳本描述層201進行解釋,供應用執行層203來執行以實現UI的動態加載。
如對背景進行解釋,其過程為1、根據UI腳本的描述,比如背景是圖片還是文字,如果是圖片還需要路徑信息,是從資源文件*.bar中讀取,還是直接從文件中讀取。在BREW中,有專用的BAR資源文件打包工具打包,會把圖片,音頻和文字等打包到一個文件中,讀取的時候需要按資源ID來讀取,其好處是資源統一管理;但是有的資源可以是動態加載的,為實現動態用戶界面,可能需要更新一部分資源文件,但是這時候已經不可能重新打包*.bar文件了,通過動態從應用腳本服務器100下載我們需要的資源圖片文件到本地來讀取,這就是后者所提到的直接從文件讀取。這個文件可以是一個腳本配置文件,可以是一個圖片格式的文件,可以是音樂格式的文件,也可以是其他資源文件等。
2、再根據UI腳本中對背景的描述位置,來繪制應用的背景的位置。
3、然后再在背景上繪制菜單項。菜單項一般包含菜單的背景貼圖信息和菜單文字顯示,文字顏色,繪制位置等信息。
4、接著根據<BUTTON>描述繪制出按鈕。
5、最后根據onEvent字段處理頁面的按鍵響應邏輯,當事件產生時是如何跳轉頁面,如何切換狀態等。
如圖6所示,是UI腳本解釋層202的工作流程圖。UI腳本解釋層202的功能是對UI腳本文件進行解釋和分析,并最終生成一個UI描述表。其具體過程如下當BREW應用啟動時,UI腳本解釋層202把UI腳本文件讀入緩沖區,即執行步驟401;對UI腳本文件進行詞法分析和語法分析,即執行步驟402和403;最終生成一個UI描述表,即步驟404。
詞法分析402是指原文件被分解為詞法符號的過程,詞法分析按照執行的先后次序分為六步源字符映射,轉義換行替換,空白的劃分,目標字符映射以及相鄰字符串連接,從詞法分析中得到一個正確的單詞序列。
語法分析403的主要任務就是,根據程序設計語言的語法規則,將詞法分析器所提供的單詞符號串分析成各種語法范疇。從單詞到短語,從短語到語句,從語句到程序段或程序,分析和確定給出的單詞符號串是否組成一個正確的程序。
若分析中發現有錯,則進行相應的出錯處理。其中,這里的錯誤可以分為兩級錯誤。
第一級嚴重的系統錯誤,提示用戶后,按任意鍵退出應用程序。
第二級低級別的錯誤,提示用戶后,返回到離當前界面比較近的或是功能菜單的入口處。
綜上所述,如果能得到正確的腳本信息,就能通過自帶的解釋器來解析UI信息,重構應用程序的UI和邏輯。
UI腳本解釋層202解釋的過程就是填充UI描述表的過程,把腳本寫到緩沖區,通過字符串查找和內存接口把解釋出來的UI描述項填充到相應的UI描述表項。
UI描述表項如下所示每一條UI描述記錄都由以下參數組成char iRunStatus //UI的狀態,也是應用執行模塊查表的各界面的入口和主鍵值。
char iBackground //UI的背景模式,表示是否更新背景、還是整屏重繪還是局部更新等。
char iImage //UI的貼圖,是否貼圖標志。
char iPath//UI貼圖的來源是從資源文件還是直接從文件中讀取圖片。
char*title//如果從資源文件讀取,該字段為資源文件中圖片的索引值;如果為直接文件讀取則為文件URL。
char ix //要貼圖片的左上角的X坐標。
char iy //要貼圖片的左上角的Y坐標。
char iMenu//是否有菜單項。
char*pText//菜單顯示的名稱。
char ix //菜單文字的顯示位置的X坐標。
char iy //菜單文字的顯示位置的Y坐標。
char iButton //是否有按鈕標志。
char*pText//按鈕的顯示名稱。
char ix //按鈕文字的顯示位置的X坐標。
char iy //按鈕文字的顯示位置的Y坐標。
char iOnEvent //事件或是按鍵處理。
char iCondition //事件ID或按鍵值。
char iAction //事件或按鍵響應描述。
若有完備的上述UI描述表項,用戶界面就可以重構。UI描述表由上述的結構體類型的結構體數組組成。一個簡單的描述表如下1 C_MAINMENU1062 C_APPSTART1563 C_APPHELP 2064 C_APPABOUT256……105C_APPEXIT 626106iBackground 0//UI整屏重繪。
107iImage1//貼圖108iPath RES//圖片在資源文件中的索引109title R_I_BACKGROUND//該字段為資源文件中圖片的索引值;110ix0//要貼圖片的左上角的X坐標111iy0//要貼圖片的左上角的Y坐標112iMenu 4//4個菜單項113pText“開始游戲”//UNICODE編碼格式,菜單顯示的名稱114ix50//菜單文字的顯示位置的X坐標115iy50//菜單文字的顯示位置的Y坐標
……124iButton2//2個按鈕125pText “進入”//UNICODE編碼,按鈕的顯示名稱126ix 10//按鈕文字的顯示位置的X坐標127iy 120//按鈕文字的顯示位置的Y坐標128iOnEvent AVK_SOFT1//左軟鍵,事件或是按鍵處理129iCondition C_STATUS_MAINMENU//事件ID或按鍵值130iActionC_STATUS_APPSTART//事件或按鍵響應描述……156iBackground//Next Status……其中,“1 C_MAINMENU 106”表示文件的開頭,文件開頭作為描述表的入口,本身也是一個小表,C-MAINMENU等C開頭的大寫字符串為狀態標志,標志每一個頁面的狀態描述。數字106表示行號,意思是,我們首先找到要找的頁面,比如是MAINMENU,這樣我們就查到了106,緊接著我們轉到106來具體獲取該頁面的描述。
動態用戶界面的實現流程具體如圖7所示,其具體描述如下BREW終端運行BREW應用程序,即執行步驟程序啟動501;接著屏幕上會閃出一個頁面,即執行步驟啟動閃屏502;一般該頁面僅僅是顯示該應用程序的LOGO和開發商信息等。UI腳本解釋層202對UI腳本文件進行解釋和分析,生成一個以UI狀態為主鍵的描述表。
應用執行層203從UI描述表入口獲取UI描述,比如背景,菜單項和按鈕的描述,即執行步驟轉入UI描述表入口503和取得UI描述504;接著繪制程序UI,進入主程序菜單界面,即執行步驟根據UI描述繪制頁面505。
接下來,執行步驟判斷是否有事件觸發206。
若沒有按鍵或是事件被觸發,則屏幕一直顯示主程序菜單界面,處于空閑的狀態,即執行步驟空閑507;
若有按鍵或是事件被觸發,應用執行層203首先根據當前狀態描述中對事件或按鍵的處理描述,調用相應的功能函數,并進行狀態切換,即應用執行層203獲取當前要跳轉到的頁面狀態,也即是獲取iRunStatus參數后,會根據該參數對存放在內存中的UI描述表進行查表,當查找到該參數對應的狀態描述項后,就把當前狀態修改為參數所對應的狀態,并根據修改后的此當前狀態的UI描述,重繪整個UI,實現UI狀態機的可靠切換,即執行步驟508。
在執行完步驟508之后,跳轉回到步驟503,按流程繼續循環上述的過程。
例如當BREW應用程序啟動,接著會出現閃屏,然后應用執行層203從UI描述表的表頭查詢到C_STATUS_MAINMENU的數據索引為106,就把描述表指針指向106處,此時,應用執行層203獲取主菜單界面的UI描述,根據UI描述表中對主菜單的背景屬性、菜單屬性、按鈕屬性對主菜單對UI界面進行繪制,即屏幕上顯示主菜單界面。
當按鈕事件發生時,比如AVK_SOFT1被按下,這時,應用執行層203通過當前描述表指針找到主菜單界面下對該事件的處理方法跳轉到C_STATUS_APPSTART頁面;測試描述指針又跳轉到表頭處,搜索到C_STATUS_ARRSTART的索引值156,則把描述指針指向描述表的索引值為156的地方,獲取該狀態頁面的UI描述,這樣就實現了UI狀態機的切換。
采用本發明所描述的體系結構和實現方法,不僅能夠很好的實現BREW應用程序的動態用戶界面加載,而且還能夠克服當前BREW應用軟件開發中存在的幾個弊端。
權利要求
1.基于BREW的一種動態用戶界面的實現方法,包括以下步驟1001、BREW終端(200)通過internet網絡從應用腳本服務器(100)下載更新的BREW應用的UI腳本文件;1002、BREW終端(200)中的UI腳本解釋層(202)對所述UI腳本文件進行解釋,對UI的配置數據結構進行填充,生成一個UI描述表;1003、BREW終端(200)中的應用執行層從所述UI描述表入口取得UI描述,對UI進行繪制,并在BREW終端(200)屏幕上顯示所繪制的主程序菜單界面。
2.根據權利要求1所述的基于BREW的一種動態用戶界面的實現方法,其特征在于,步驟1001中進一步包括2001、所述BREW終端(200)通過移動通信網絡,從應用服務器(300)下載BREW應用;2002、當BREW終端(200)運行所述BREW應用時,BREW終端(200)采用TCP方式通過internet網絡與應用腳本服務器(100)進行連接,以檢查應用腳本服務器(100)中是否存在該BREW應用更新的UI腳本文件;若存在,則BREW終端(200)下載該更新的UI腳本文件替換原有的UI腳本文件;否則,BREW終端(200)中的UI腳本文件保持不變。
3.根據權利要求2所述的基于BREW的一種動態用戶界面的實現方法,其特征在于,步驟2002中進一步包括3001、BREW終端(200)與應用腳本服務器(100)進行連接時,應用腳本服務器(100)對BREW應用的名稱、有效性和安全性進行檢查;3002、在通過安全檢查后,再對所述BREW應用的版本進行檢查,若有更新的版本,則向BREW終端(200)發送版本升級的提示信息;3003、BREW終端(200)對該提示信息進行確認,并與應用腳本服務器(100)進行通訊,從而獲取更新的BREW應用的UI腳本文件。
4.根據權利要求3所述的基于BREW的一種動態用戶界面的實現方法,其特征在于,步驟3003中進一步包括應用腳本服務器(100)根據BREW終端(200)的確認信息所提供的BREW終端平臺號,選定與該BREW終端(200)相匹配的更新的UI腳本文件下發給BREW終端(200)。
5.根據權利要求1所述的基于BREW的一種動態用戶界面的實現方法,其特征在于,步驟1002中UI腳本解釋層對所述UI腳本文件進行解釋進一步包括UI腳本解釋層讀取UI腳本文件到緩沖區,并對UI腳本文件進行詞法分析和語法分析。
6.根據權利要求1所述的基于BREW的一種動態用戶界面的實現方法,其特征在于,步驟1003中進一步包括當有事件觸發時,應用執行層通過當前UI描述表找到主菜單界面下對該事件的處理方法,并把描述指針指向UI描述表中與該處理方法對應的索引值,從而獲取該狀態事件的UI描述。
7.基于BREW的一種動態用戶界面的體系結構,包括通過移動通信網絡進行通訊的應用服務器(300)和BREW終端(200),所述BREW終端(200)可從應用服務器(300)下載BREW應用,所述BREW終端(200)包括應用執行層(203)、BREWAPI層(204)、OEM層(205)及BREW終端硬件層(206),其特征在于還包括通過internet網絡與BREW終端(200)進行通訊的應用腳本服務器(100),所述應用腳本服務器(100)向BREW終端(200)提供更新的BREW應用的UI腳本文件。
8.根據權利要求7所述的基于BREW的一種動態用戶界面的體系結構,其特征在于,所述BREW終端(200)還包括UI腳本描述層(201)和UI腳本解釋層(202),所述UI腳本解釋層(202)對UI腳本描述層(201)進行解釋,生成UI描述表,供應用執行層(203)調用并執行。
9.根據權利要求8所述的基于BREW的一種動態用戶界面的體系結構,其特征在于所述UI腳本描述層(201)可由所述應用腳本服務器(100)提供更新的BREW應用的UI腳本文件來替換。
10.根據權利要求7所述的基于BREW的一種動態用戶界面的體系結構,其特征在于所述應用腳本服務器(100)對BREW終端(200)中BREW應用的名稱、有效性和安全性進行檢查,保證應用腳本服務器(100)與BREW終端(200)之間通訊的安全性。
11.根據權利要求7所述的基于BREW的一種動態用戶界面的體系結構,其特征在于所述應用腳本服務器(100)檢測其中是否存在更新的BREW應用的UI腳本文件,以確認是否能對BREW終端(200)中的BREW應用版本進行升級。
12.根據權利要求7所述的基于BREW的一種動態用戶界面的體系結構,其特征在于所述應用腳本服務器(100)根據BREW終端平臺號,選定與該BREW終端(200)相匹配的更新的UI腳本文件下發給該BREW終端(200)。
全文摘要
本發明公開了基于Brew的一種動態用戶界面的體系結構和實現方法,涉及計算機、網絡通信技術領域。該方法包括BREW終端通過internet網絡從應用腳本服務器下載更新的UI腳本文件;BREW終端中的UI腳本解釋層對UI腳本文件進行解釋,最終生成一個UI描述表;BREW終端中的應用執行層從UI描述表入口取得UI描述,對UI進行繪制,并在BREW終端屏幕上顯示所繪制的主程序菜單界面。對應的體系結構包括通過internet網絡與BREW終端進行通訊的應用腳本服務器,應用腳本服務器向BREW終端提供更新的UI腳本文件。本發明加快了Brew應用軟件的開發速度;增強了BREW應用的擴展性和可維護性。
文檔編號G06F17/30GK1908894SQ20051003639
公開日2007年2月7日 申請日期2005年8月4日 優先權日2005年8月4日
發明者趙峰, 郭永 申請人:騰訊科技(深圳)有限公司