symbian 應(yīng)用程序框架淺析

symbian 應(yīng)用程序框架淺析

ID:9682203

大?。?1.00 KB

頁(yè)數(shù):3頁(yè)

時(shí)間:2018-05-05

symbian 應(yīng)用程序框架淺析_第1頁(yè)
symbian 應(yīng)用程序框架淺析_第2頁(yè)
symbian 應(yīng)用程序框架淺析_第3頁(yè)
資源描述:

《symbian 應(yīng)用程序框架淺析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)

1、Symbian應(yīng)用程序框架淺析  S60應(yīng)用程序的運(yùn)行依賴于大量的OS組件,例如屏幕繪圖和應(yīng)用程序數(shù)據(jù)持久性等,可以直接使用OS的窗口服務(wù)器或者文件服務(wù)器即可?!   ?yīng)用程序核心框架類(lèi)  應(yīng)用程序框架由一套核心類(lèi)組成,這些類(lèi)是所有應(yīng)用程序框架的基礎(chǔ)。這些類(lèi)封裝了應(yīng)用程序和所需OS服務(wù)器之間的相互作用?! 〉谝粚樱篊Base和CActive兩個(gè)基類(lèi),其中CActive也是派生于CBase,而CActive又被第二層的CConEnv派生  第二層:包含兩個(gè)基本組件:AppArc和CONE。AppArc代表應(yīng)用程序架構(gòu),這些類(lèi)提供了基本的應(yīng)用程序結(jié)構(gòu)、將系統(tǒng)信息提交到應(yīng)用程序的機(jī)制,以及

2、使用文件服務(wù)器持久化數(shù)據(jù)。其中的類(lèi)在命名時(shí)都帶有前綴*Apa。CONE是控制環(huán)境的縮寫(xiě),在這個(gè)組件中的類(lèi)提供用于處理用戶輸入并創(chuàng)建用戶界面的機(jī)制--這些類(lèi)主要用于和窗口服務(wù)器進(jìn)行交互,其中的類(lèi)在命名時(shí)都帶有前綴*Coe。這一層中的許多類(lèi)都是抽象類(lèi),僅僅定義了一個(gè)API的接口?! 〉谌龑樱篣ikon組件。這是具有豐富功能、非抽象框架類(lèi)的一般性設(shè)備無(wú)關(guān)實(shí)現(xiàn),并且提供了一個(gè)在所有symbianOS上公用的UI庫(kù)層。一些具體的UI控件(比如列表框和滾動(dòng)條等)都可以在該層創(chuàng)建,這些控件有時(shí)也被稱(chēng)為Eikon控件。UIkon組件中的類(lèi)在命名時(shí)都帶有前綴*Eik。添加了一個(gè)公共的symbianOS

3、實(shí)現(xiàn),和其他SymbianOSUI平臺(tái)共享?! 〉谒膶樱河葾vkon類(lèi)組成,這些類(lèi)提供了核心的S60UI功能,例如菜單支持。Avkon控件的類(lèi)在命名時(shí)都帶有前綴*Akn。在框架上添加S60特有的實(shí)現(xiàn)。  第五層:針對(duì)應(yīng)用程序的層,設(shè)計(jì)自己的應(yīng)用程序,添加自定義應(yīng)用程序?qū)崿F(xiàn)?! ∫陨咸岬降倪@些類(lèi)簡(jiǎn)單來(lái)說(shuō)就是:視圖(Vieent)、應(yīng)用程序(Application)、應(yīng)用程序UI(ApplicationUI)。那么一個(gè)S60UI應(yīng)用程序是如何用這些類(lèi)來(lái)實(shí)現(xiàn)其有機(jī)程序呢,這個(gè)就涉及到一個(gè)應(yīng)用程序框架的初始化問(wèn)題?! ?yīng)用程序框架初始化  必須創(chuàng)建下面的每個(gè)方法,才能提供最小的S60應(yīng)用程序

4、:  a、框架入口:所有S60UI都實(shí)現(xiàn)一個(gè)全局函數(shù)E32DLL()(非UI類(lèi)的全局入口函數(shù)為E32Main),當(dāng)應(yīng)用程序啟動(dòng)時(shí),框架將首先調(diào)用該函數(shù),該函數(shù)也稱(chēng)為DLL入口點(diǎn),應(yīng)用程序必須存在該函數(shù)。每個(gè)S60UI應(yīng)用程序都是一個(gè)多態(tài)DLL?! 、新建應(yīng)用程序?qū)嵗鹤尶蚣苷{(diào)用NebianOS常見(jiàn)的nemp文件中指定的UID值,該值可用于確定應(yīng)用程序的實(shí)例是否正在運(yùn)行。如果一個(gè)應(yīng)用程序正在運(yùn)行,而要啟動(dòng)這個(gè)程序的另一個(gè)實(shí)例,這時(shí)該運(yùn)行的程序就會(huì)被切換到前臺(tái),而不是重新生成一個(gè)?! 、新建文檔實(shí)例:框架通過(guò)框架調(diào)用應(yīng)用程序類(lèi)實(shí)例的CreateDocumentL()函數(shù)獲取指向新創(chuàng)建

5、的Document類(lèi)實(shí)例的指針。通過(guò)文檔實(shí)例指針,框架就可以調(diào)用文檔實(shí)例的某些功能,同時(shí)文檔實(shí)例也通過(guò)調(diào)用自身的Nebian的異常處理機(jī)制有關(guān),而之所以設(shè)計(jì)成靜態(tài)函數(shù)我現(xiàn)在也還不是很清楚)來(lái)創(chuàng)建自己。  e、是否裝入文件:框架重新調(diào)用AppDllUid()來(lái)觀察是否要從文件系統(tǒng)中裝入一個(gè)文件。(似乎這里跟某些永久存儲(chǔ)信息有關(guān),目前項(xiàng)目還沒(méi)用到這個(gè)功能,我也不知道這個(gè)該怎么用)  f、新建AppUi和Vie事件框架就可以通過(guò)窗口服務(wù)器調(diào)用Vie事件一般指程序啟動(dòng)、應(yīng)用程序獲得焦點(diǎn)或者選項(xiàng)菜單消失等等。在這里需要注意的是編程開(kāi)發(fā)者并不能直接調(diào)用DraandL()函數(shù),并傳遞一個(gè)參數(shù)ama

6、nd,它指明了用戶所選擇的命令,HandlemandL()會(huì)據(jù)此來(lái)判斷不同的命令以分別調(diào)度執(zhí)行。在此處還有一個(gè)必須注意的地方是如果要程序的View實(shí)例也回應(yīng)用戶的按鍵,則必須將View實(shí)例通過(guò)AppUi的AddToStackL()函數(shù)加入到AppUi實(shí)例的控件堆棧(controlstack)中?! ?duì)于上面的調(diào)用方式實(shí)現(xiàn)說(shuō)明,個(gè)人覺(jué)得有必要再將AppUi的幾個(gè)重要事件處理方法羅列一下:  HandleWsEventL()用于處理窗口服務(wù)器傳遞的事件,它的作12下一頁(yè)——感謝閱讀這篇文章,..,用使框架調(diào)用下面這些具體事件處理方法;  HandKeyEvent()用于處理用戶按鍵事件(

7、此函數(shù)在控件堆棧為空時(shí)調(diào)用,否則框架將會(huì)調(diào)用OfferKeyEventL()函數(shù));  HandleForegroundEventL()當(dāng)應(yīng)用程序切換到前臺(tái)或從前臺(tái)切換到后臺(tái)時(shí)調(diào)用該函數(shù),默認(rèn)的實(shí)現(xiàn)可以處理鍵盤(pán)焦點(diǎn)的改變;  HandleSystemEventL()用于處理由窗口服務(wù)器生成的事件;  HandleApplicationSpecificEventL()用于處理自己定義的自定義事件。默認(rèn)的實(shí)現(xiàn)可以處理顏色方案改變的通知;  Handlemand

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。