精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Symbian學(xué)習(xí)筆記(3)——應(yīng)用程序框架

系統(tǒng)
開發(fā)symbian的GUI應(yīng)用是有模板的,用Carbide C++的工程向?qū)Э梢宰詣由沙绦虻幕究蚣?。不過可能與安裝的SDK版本有關(guān),我現(xiàn)在只能生成一個AppUi一個Container的常規(guī)模板(以前用2nd FP3時還可以生成多個view多個container的視圖模板)。
開發(fā)symbian的GUI應(yīng)用是有模板的,用Carbide C++的工程向?qū)Э梢宰詣由沙绦虻幕究蚣?。不過可能與安裝的SDK版本有關(guān),我現(xiàn)在只能生成一個AppUi一個Container的常規(guī)模板(以前用2nd FP3時還可以生成多個view多個container的視圖模板)。

  不管是哪一種模板,它們共同的部分是入口函數(shù)、Application和Document。即以下三個文件是所有工程都具有的:

  1)有一個與工程同名的cpp文件,它只提供了兩個全局函數(shù),是程序執(zhí)行的入口,負(fù)責(zé)創(chuàng)造Application。這個文件我們不用管它。

  2)有一個以工程名+Application命名的類,派生于CAknApplication,它負(fù)責(zé)創(chuàng)建文檔類并提供應(yīng)用的UID。一般情況下它也不需要我們操心,但是因為它提供了一個函數(shù)OpenIniFileLC,如果我們需要在啟動程序時加載ini文件中的配置,可以重載它。

  3)有一個以工程名+Document命名的類,派生于CAknDocument,它負(fù)責(zé)創(chuàng)建Ui類,同樣一般情況我們不管它,但是它也提供了一個函數(shù)OpenFileL,如果需要加載普通文件,也可以重載它。

  下面來看看兩種模板的不同點吧。

  一. 基于CCoeControl的常規(guī)模式

  這種模式的特點是一個AppUi類并且對應(yīng)一個Container類。

  它在上述三個文件以外,還有下面兩個文件:

  4)有一個以工程名+AppUi命名的類,派生于CAknAppUi,它主要的工作是負(fù)責(zé)用戶接口(所謂的UI)并且創(chuàng)建Container類,所以它是我們關(guān)注的重點之一。

  它最重要的成員函數(shù)是HandleCommandL,這個函數(shù)來自于CEikAppUi類,負(fù)責(zé)處理各種命名/事件。

  有兩個函數(shù)DynInitMenuBarL和DynInitMenuPaneL,如果需要動態(tài)更改菜單的項目,可以重載它們。

  HandleKeyEventL函數(shù)則可以在需要自己處理鍵盤事件時重載一下。

  此外,這個AppUi還提供一些比較常用的函數(shù),比如:

  Document() 可以獲取Document對象指針。

  Application() 可以獲取Application對象指針。

  StatusPane() 可以獲取狀態(tài)欄的指針。

  Cba() 可以獲取控制欄的指針。

  5)有一個以工程名+Container命名的類,派生于CCoeControl,它負(fù)責(zé)內(nèi)容的展示,也是我們關(guān)注的重點。

  如果需要在界面上增加控件類類的東西,都是在這個類中實現(xiàn),總的來說,它負(fù)責(zé)所有與界面展示相關(guān)的東西。

  它有一個Draw函數(shù),但是如果我們是通過控件來展示信息,則這個函數(shù)里的代碼似乎與我們關(guān)系不大,除非我們的界面完全是靠畫出來的。

  另兩個函數(shù)ComponentControl和CountComponentControls分別獲取控件與獲取控件個數(shù),在依賴于控件展示的GUI應(yīng)用中則更為重要。

  因為它實現(xiàn)了接口MCoeControlObserver,所以函數(shù)HandleControlEventL也需要實現(xiàn)一下。

  利用它的成員iCoeEnv可以取到AppUi類的指針,不過需要強制轉(zhuǎn)型一下,如:STATIC_CAST(CiMusicAppUi*,iCoeEnv->AppUi())->...

  二. 基于CAknView的MVC模式

  這種模式的特點是在AppUi類與Container類之間增加一個AppView的類,即一個AppUi對象,N個AppView和N個Container。

  除了公共的三個文件以外,它包括的文件有:

  4) 有一個以工程名+AppUi命名的類,派生于CAknViewAppUi類,其實也是間接派生于CAknAppUi類,它的工作職責(zé)與常規(guī)模式中的AppUi類也基本相同。

  ***的區(qū)別在于它不是直接創(chuàng)建Container類,而是創(chuàng)建AppView類,并且是創(chuàng)建多個AppView類。同時它還需要負(fù)責(zé)將創(chuàng)建的view加入視圖棧里AddViewL。

 

    CiMusicViewMusic* view1 = new (ELeave) CiMusicViewMusic;   
    CleanupStack::PushL( view1 );
    view1->ConstructL();
    AddViewL( view1 );      // transfer ownership to CAknViewAppUi
    CleanupStack::Pop();    // view1
   
    CiMusicViewFavt* view2 = new (ELeave) CiMusicViewFavt;   
    CleanupStack::PushL( view2 );
    view2->ConstructL();
    AddViewL( view2 );      // transfer ownership to CAknViewAppUi
    CleanupStack::Pop();    // view2
   
    CiMusicViewWeb* view3 = new (ELeave) CiMusicViewWeb;   
    CleanupStack::PushL( view3 );
    view3->ConstructL();
    AddViewL( view3 );      // transfer ownership to CAknViewAppUi
    CleanupStack::Pop();    // view3
   
    this->ActivateLocalViewL(KViewMusicId);

  5)有多個以工程名+View命名的類,派生于CAknView類。它負(fù)責(zé)分擔(dān)AppUi部分事件的處理,所以,它也有HandleCommandL函數(shù)。

  此外,它的DoActivateL和DoDeactivate兩個函數(shù)在當(dāng)前視圖激活或失活時被調(diào)用,需要重載一下。

  在激活時,需要創(chuàng)建視圖對應(yīng)的Container類,并且調(diào)用Container的SetMopParent為自己,還要在上層的AppUi中將這個Container加入棧中。一般代碼如下:

 

    iContainer = new (ELeave) CiMusicContainerFavt;
    iContainer->SetMopParent(this);      
    iContainer->ConstructL( AppUi()->ApplicationRect() );
    iContainer->listType=type;
    AppUi()->AddToStackL( *this, iContainer );
 

  注意,它的AppUi()可以得到它的上層的AppUi對象指針。

  失活時則正好相反,需要  

if ( iContainer )
...{
AppUi()->RemoveFromViewStack( *this, iContainer );
}
delete iContainer;
iContainer = NULL;

  6)有多個以工程名+Container命名的類,派生于CCoeControl并實現(xiàn)接口MCoeControlObserver,所以它的行為與常規(guī)模式中的Container類似。

  這種模式可以有效地組織應(yīng)用程序,根據(jù)應(yīng)用的多個功能界面切割成數(shù)個模塊(視圖)。由多個AppView來分擔(dān)AppUi中的事件處理,負(fù)責(zé)自己這個視圖下的具體行為與顯示。

  各個視圖之間的切換也很簡單:

  STATIC_CAST(CiMusicAppUi*,iCoeEnv->AppUi())->ActivateLocalViewL(KViewMusicId);

  [補充]

  三 比較兩種模式

  有些教材還提出過對話框模式,但是我覺得那似乎不太實用,也沒注意過它的結(jié)構(gòu)組成。

  對比上述兩種架構(gòu)模板,很顯然,第二種基于視圖的模板應(yīng)該更有實用性一點,除非程序?qū)嵲诤唵巍?/P>

  不過,這里的“視圖”很容易讓人產(chǎn)生誤解。一般我們說MVC的時候,模型-視圖-控制器,但是這里的AppView其實對應(yīng)的控制器,而Container對應(yīng)的則是視圖。

  所以在新的SDK里,***種模板中由向?qū)傻墓こ讨性从贑CoeControl的類名改成了AppView,對應(yīng)繼承于CAknAppUi控制器的類名叫AppUi。因為我沒有看到多視圖的工程生成的代碼,如果這樣的話,估計也應(yīng)該對應(yīng)的改一下吧。

【編輯推薦】

  1. Symbian每6個月發(fā)布一款新開源操作系統(tǒng)
  2. 微軟建WindowsMarketplace 完善智能機(jī)平臺
  3. 大力模仿Android 傳微軟WM6.5可裝插件
責(zé)任編輯:龐桂玉 來源: it168
相關(guān)推薦

2011-05-03 09:14:45

QtOvi商店Symbian

2009-07-14 18:10:38

Swing應(yīng)用程序框架

2010-08-10 15:26:38

Flex應(yīng)用程序

2021-02-05 11:55:37

PythonWindows平臺代碼

2009-04-12 09:00:08

Symbian諾基亞移動OS

2009-04-12 09:01:05

Symbian諾基亞移動OS

2009-04-12 09:02:32

Symbian諾基亞移動OS

2009-04-12 09:06:00

Symbian諾基亞移動OS

2009-04-12 08:59:05

Symbian諾基亞移動OS

2009-04-12 09:03:50

Symbian諾基亞移動OS

2009-04-12 08:57:50

Symbian諾基亞移動OS

2020-10-22 10:05:26

HarmonyOS應(yīng)用程序框架

2009-04-12 09:25:12

Symbian諾基亞移動OS

2020-11-05 11:47:52

HarmonyOS

2009-04-12 08:46:43

Symbian諾基亞移動OS

2010-08-11 13:08:36

Flex3

2009-04-12 08:36:09

Symbian諾基亞移動OS

2009-04-12 08:55:18

Symbian諾基亞移動OS

2009-09-10 10:55:31

中國移動應(yīng)用程序商店

2010-05-23 11:13:53

Widget開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號

成人免费大片黄在线播放| 国产亚洲欧美日韩一区二区| 女人被男人躁得好爽免费视频 | 337p亚洲精品色噜噜| 在线观看一区二区三区三州| 亚洲卡一卡二卡三| 视频一区二区中文字幕| 北条麻妃久久精品| 精品人妻一区二区三区日产| xxxxx.日韩| 一区二区三区色| 欧美日韩一区二区三区免费| 国产理论视频在线观看| 国产视频一区欧美| 久久天天躁狠狠躁夜夜躁| 在线黄色免费网站| 国产精品毛片aⅴ一区二区三区| 亚洲成av人片在www色猫咪| 青娱乐一区二区| 亚洲精品一区二区三区不卡| 日本成人中文字幕| 97久久久免费福利网址| 午夜激情福利电影| 久久99高清| 精品国产免费一区二区三区四区| 中文久久久久久| 麻豆国产在线| 亚洲国产你懂的| 国产又大又长又粗又黄| 九色蝌蚪在线| 99久久99久久久精品齐齐| 国产日韩欧美视频| 日韩乱码一区二区三区| 亚洲在线免费| 97超级碰碰碰| 日本熟女一区二区| 欧美三级视频| 欧美精品一区二区免费| 国产黄色录像片| 日本成人小视频| 亚洲图中文字幕| 风间由美一二三区av片| 国产乱人伦精品一区| 欧美成人一区二区三区在线观看| 在线观看免费不卡av| 成人黄色在线| 欧美性感一类影片在线播放| 日韩中文字幕二区| 在线天堂中文资源最新版| 午夜视频在线观看一区二区三区| 欧美美女黄色网| 久久bbxx| 亚洲美女免费在线| 青青视频免费在线观看| 中文在线字幕免费观看| 亚洲女同ⅹxx女同tv| 在线观看免费黄色片| 黄网站视频在线观看| 国产精品久久久99| 精品国产一区二区三区在线| 免费av网站在线看| 亚洲免费伊人电影| 99热这里只有精品免费| 伦理在线一区| 婷婷成人综合网| 播放灌醉水嫩大学生国内精品| 日产福利视频在线观看| 色天天综合久久久久综合片| 美女喷白浆视频| 日本午夜免费一区二区| 日韩一二三区视频| 欧美日韩人妻精品一区在线| 老牛精品亚洲成av人片| 亚洲精品视频在线观看视频| 成人国产精品久久久网站| 成人vr资源| 久久人人爽亚洲精品天堂| 欧美黄色免费在线观看| 一本色道久久精品| 国产不卡av在线| 亚洲视频久久久| 国产一区91精品张津瑜| 国产二区一区| 久久99久久| 亚洲欧美中日韩| 人妻无码久久一区二区三区免费| japanese23hdxxxx日韩| 在线综合亚洲欧美在线视频| 日本精品一二三区| 精品少妇av| 日韩亚洲欧美中文高清在线| 久久综合激情网| 日韩av不卡一区二区| 91香蕉视频在线下载| 日本在线视频1区| 中文字幕一区二区三区视频| 人妻夜夜添夜夜无码av| 四虎精品永久免费| 亚洲第一网中文字幕| 99久久99久久精品免费| 韩日精品视频| 国产精品免费电影| 日本人妻丰满熟妇久久久久久| 久久精品亚洲麻豆av一区二区 | 91在线免费看| 亚洲一区二区视频在线| 在线观看高清免费视频| 精品国产导航| 久久亚洲一区二区三区四区五区高 | 亚洲精品国产av| 国产欧美日韩综合| 成年人看的毛片| 91国产精品| 国产一区二区三区视频在线观看 | 成人欧美一区二区三区黑人孕妇| 天天干视频在线| 自拍偷拍亚洲综合| 爱情岛论坛vip永久入口| 成人台湾亚洲精品一区二区| www国产亚洲精品久久网站| 婷婷激情五月网| 高清不卡在线观看av| 中文字幕中文字幕99| 日韩影片中文字幕| 亚洲精品乱码久久久久久金桔影视| 999精品久久久| 久久aⅴ国产紧身牛仔裤| 国产精品传媒毛片三区| 免费大片黄在线观看视频网站| 欧美色播在线播放| 污污污www精品国产网站| 欧美精品播放| 亚洲综合成人婷婷小说| 免费在线观看av| 欧美亚洲一区二区三区四区| 无码人妻精品一区二区三应用大全| 欧美三级在线| 91免费精品国偷自产在线| 素人av在线| 欧美日韩国产高清一区| 调教驯服丰满美艳麻麻在线视频| 香蕉精品999视频一区二区| 国产一区二区三区四区五区在线 | www.色.com| 99九九热只有国产精品| 国产精品视频在线观看| 福利视频在线导航| 在线免费不卡视频| 日本人亚洲人jjzzjjz| 日韩avvvv在线播放| 五月天丁香综合久久国产| 国精产品一区一区三区四川| 亚洲欧美精品一区二区| 欧美一区二区三区不卡视频| 久久蜜桃一区二区| 国产精品人人妻人人爽人人牛| 亚洲97av| 国产美女91呻吟求| 超碰在线免费播放| 日韩美女一区二区三区四区| 久久久久人妻一区精品色欧美| 粉嫩高潮美女一区二区三区| 男人添女荫道口女人有什么感觉| 国产成人在线中文字幕| 97av在线影院| 二区三区在线播放| 欧美精品一二三区| 久久久久久久极品内射| 成人av网站在线| 99热成人精品热久久66| 欧美久久综合网| 亚洲va欧美va在线观看| 免费看电影在线| 亚洲激情视频网| 欧美日韩综合一区二区三区| 欧美国产一区视频在线观看| 国产一级片中文字幕| 精品99视频| 日韩av免费电影| 国产精品视频一区二区三区| 久久久天堂国产精品女人| 精品999视频| 欧美一级一区二区| 精品人妻无码一区二区性色 | 久久久久香蕉视频| 91麻豆成人久久精品二区三区| 网站一区二区三区| 午夜欧美精品久久久久久久| 久久久久资源| 99精品国产九九国产精品| 97免费中文视频在线观看| av在线资源网| 亚洲国产精品久久久久| 亚洲免费视频二区| 亚洲成a人在线观看| 影音先锋男人在线| 成人激情av网| 亚洲欧美日韩一级| 国产欧美高清| 8x8x华人在线| 国产探花在线精品一区二区| 91成人免费看| 99久久婷婷国产综合精品首页 | 日本三级欧美三级| 国产精品乱码久久久久久| 美女搡bbb又爽又猛又黄www| 免费在线观看日韩欧美| 国产精品333| 一区二区三区在线| 日韩中文字幕av在线| 中文字幕区一区二区三| 国产在线拍揄自揄视频不卡99| 高清视频在线观看三级| 欧美成人免费视频| 在线观看免费网站黄| 日韩福利视频在线观看| 国产福利免费视频| 欧美日韩成人综合天天影院| 国产又黄又粗又爽| 亚洲一区二区三区在线播放| 99自拍视频在线| 国产农村妇女精品| 国产成人无码精品久久二区三| 成人午夜在线免费| 日日夜夜精品视频免费观看 | 国产成人精品视| free性欧美| 欧美国产日本高清在线| 黄色免费在线网站| 俺去啦;欧美日韩| 搞黄视频免费在线观看| 国产视频亚洲精品| 天堂在线观看av| 精品乱码亚洲一区二区不卡| 国产日韩欧美一区二区东京热| 欧美日韩免费高清一区色橹橹| 日本黄色一级视频| 色综合久久久久久久久| 午夜毛片在线观看| 欧美日韩国产精品专区| 国产精品第108页| 亚洲福利电影网| 久久中文字幕在线观看| 亚洲高清视频的网址| 精品少妇theporn| 一区二区三区在线观看网站| 国产一二三区精品| 一区二区三区自拍| 精品99在线观看| 亚洲一卡二卡三卡四卡| 久久久久亚洲天堂| 亚洲综合偷拍欧美一区色| 久久久夜色精品| 亚洲1区2区3区4区| 色婷婷av国产精品| 欧美性猛交xxxx乱大交| www.日韩一区| 欧美人牲a欧美精品| 99精品视频免费看| 精品久久人人做人人爽| 日本高清视频网站| 日韩精品亚洲元码| 国产高清一级毛片在线不卡| 中文字幕日韩免费视频| 日本蜜桃在线观看| 欧美噜噜久久久xxx| 免费毛片在线看片免费丝瓜视频 | 色屁屁影院www国产高清麻豆| 色综合久久天天| 亚洲自拍偷拍另类| 日韩欧美在线观看一区二区三区| 午夜精品小视频| 精品亚洲va在线va天堂资源站| 男人av在线| 日韩有码在线播放| 国产理论电影在线| 国产成人在线精品| 精品国产一区二区三区2021| www日韩av| 夜色77av精品影院| 成人性做爰片免费视频| 日韩香蕉视频| 天天干天天操天天玩| 国产成人亚洲综合a∨婷婷 | 精品影片在线观看的网站| 亚洲国产精品日韩| 黑丝一区二区| 污污视频网站免费观看| 国产乱人伦偷精品视频不卡| 中出视频在线观看| 亚洲同性同志一二三专区| 日韩免费观看一区二区| 678五月天丁香亚洲综合网| 日韩一级在线播放| 精品久久久av| 涩涩涩在线视频| 91在线观看免费网站| 日本妇女一区| 日韩人妻精品一区二区三区| 久久婷婷av| 日韩精品国产一区| 国产精品网站一区| 日本高清www免费视频| 欧美精品久久天天躁| 欧美日韩在线中文字幕| 久久国产精品久久久久久久久久| 偷拍精品精品一区二区三区| 国产精品午夜av在线| 国产精品久久久久蜜臀| 99久久久无码国产精品6| 国产成人综合在线播放| 亚洲一级理论片| 欧美性猛交xxxx| 国产91久久久| 久久精彩免费视频| jizz久久久久久| 久久精品国产99精品国产亚洲性色| 中文字幕一区二区精品区| 污网站免费在线| 久久蜜桃av一区二区天堂| 日本免费在线播放| 日韩一级视频免费观看在线| 欧美成人hd| 国产精品视频一区国模私拍 | 日韩色图在线观看| 欧美大片一区二区| 中文字幕在线三区| 成人日韩在线电影| 欧美丰满日韩| 中文字幕在线综合| 中文字幕不卡在线| 九九热最新视频| 国产视频欧美视频| 都市激情亚洲一区| 欧美美乳视频网站在线观看| 一区二区黄色| 三级男人添奶爽爽爽视频| 亚洲妇熟xx妇色黄| 天堂av中文字幕| 97在线观看视频| 欧美黑白配在线| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 成人av免费在线播放| 亚洲一区二区91| 亚洲福利在线视频| 咪咪网在线视频| 欧美精品亚洲精品| 老**午夜毛片一区二区三区| 麻豆精品免费视频| 欧美在线小视频| 欧美69xxx| 亚洲sss综合天堂久久| 欧美激情无毛| 欧美激情 亚洲| 欧美视频在线免费| 黄色av网站在线看| 国产精品看片资源| 五月精品视频| 中文写幕一区二区三区免费观成熟| 有码一区二区三区| 少妇精品高潮欲妇又嫩中文字幕| 6080yy精品一区二区三区| 亚洲香蕉视频| jizz大全欧美jizzcom| 亚洲视频网在线直播| 韩国av永久免费| 日韩av免费在线观看| 成人国产精品一级毛片视频| 亚洲第一天堂久久| 亚洲福利视频一区| porn亚洲| caoporn国产精品免费公开| 国产欧美在线| 成人小视频免费看| 日韩一区二区电影在线| 麻豆mv在线看| 影音先锋欧美资源| 成人久久视频在线观看| 国产一区二区视频网站| 美女av一区二区| 久久久久久久久久久久久久久久久久久久| 欧美黑人经典片免费观看| 国产三级精品在线| 国产精品一二三四五区| 91精品国产91久久久久久吃药| heyzo久久| 亚洲一区和二区| 欧美制服丝袜第一页| 国产黄色大片在线观看| 色爱区成人综合网| 成人看片黄a免费看在线| 这里只有精品国产| 国内精品视频一区| 99久久亚洲精品| 黑丝av在线播放| 9191成人精品久久| 在线免费看h| 毛片在线视频观看| 国产精品无人区| 深夜福利在线看|