uiOne是一種資料驅動的使用者介面技術,是建立在BREW和BUIW之上的。TrigPlayer將TrigML的邏輯表述檔案解釋並映射BUIW中的控制項並顯示出來,並通過Actor來訪問AEE層提供的各種服務,uiOne在手機上的層次關係10-6所示。
圖 10-6:uiOne在手機上的層次關係
Trig是一個或一組應用中編譯好的TrigML和其他資源的混合體,Triglet是一個Trig中的可更新部分。Trig是通過TrigPlayer執行的,TrigPlayer是uiOne的應用引擎,相當於一個解譯器。Actor是由C代碼實現的外掛程式,通過Actor來調用手機上BREW
AEE層API,因此可以理解成應用的擴充引擎。TrigBuilder是一個開發工具來編寫TrigML,運行和調試手機的待機介面應用。
Trig 實際上就是使用者介面,包括電訊廠商定製的使用者介面和內容更新頻道的介面。Trigs包含了本地資源的顯示組合,10-7所示,例如編譯過的TrigML檔案,影像檔,文字檔等。TrigML中的資源是按樹狀結構組織的,每一個資源都是唯一的一個葉子節點。
圖 10-7:Trigs是包含本地資源的顯示組合
Actors 提供了使用底層代碼的介面,通過Actor可以訪問手機平台的特性和手機上的應用,能夠使用底層代碼的應用邏輯。本質上也是一個BREW 應用擴充, 類似於中介軟體, 負責和底層的BREW
API 以及其他擴充應用進行介面互動, 是uiOne 應用的底層邏輯處理部分。Actor提供了3種功能:改變應用中的資料結構和變數的值,處理Trig發送給Actor的命令訊息,將變化的資訊通過事件發給Trig。
Triglet是Trigs中可更新的部分(圖10-8),通過OTA的方式下載到手機上,可以實現手機待機介面上指定內容的自動更新。在形式上表現為一系列資源檔的目錄體系, 是對uiOne 應用的動態可更新部分的描述, 是一個資源檔包,
可無線下載, 負責UI的線上更新,
並可只對部分UI 進行更新。
圖 10-8:Triglet的內容更新示意
頻道升級實際上是一種准PUSH服務,由使用者選擇了自己喜歡的內容頻道和更新周期。客戶定製伺服器會發送SMS到終端使用者,使用者手機上的更新管理器會根據內容頻道的URL到內容伺服器擷取相關內容(Triglet),然後由資源管理員將定製的頻道內容呈現給使用者,系統結構10-9所示。
圖 10-9:uiOne中頻道內容更新的體繫結構
另外,一個典型基於uiOne的應用組織圖10-10所示,可見,一個典型的uiOne應用一般由Template,trig,triglet,themes以及相關的基礎庫組成。