




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、More應(yīng)用開(kāi)發(fā)環(huán)境使用說(shuō)明概述More應(yīng)用開(kāi)發(fā)環(huán)境是針對(duì)國(guó)產(chǎn)手機(jī)的應(yīng)用程序開(kāi)發(fā)平臺(tái),它提供以下幾部分功能:1 開(kāi)發(fā)應(yīng)用所需的API接口庫(kù)和基礎(chǔ)類(lèi)庫(kù)2 C/C+語(yǔ)言應(yīng)用程序編譯環(huán)境3 高仿真PC模擬開(kāi)發(fā)環(huán)境4 應(yīng)用程序模板生成工具本文將描述開(kāi)發(fā)環(huán)境的安裝和使用方法,為初識(shí)More平臺(tái)的朋友提供參考。PC模擬開(kāi)發(fā)環(huán)境More平臺(tái)提供獨(dú)立的高仿真PC模擬開(kāi)發(fā)環(huán)境,該環(huán)境基于Visual C+集成開(kāi)發(fā)環(huán)境的基礎(chǔ)之上,在使用該環(huán)境之前你需要安裝一個(gè)VC集成開(kāi)發(fā)環(huán)境,如 VC6.0(推薦)、VC2003、VC2005、VC2008。模擬開(kāi)發(fā)環(huán)境中包含一個(gè)手機(jī)模擬器,其界面如下:*你可以點(diǎn)擊左上角的按鈕修
2、改模擬器的外觀,選擇不同LCD屏幕大小的模擬器目標(biāo)開(kāi)發(fā)環(huán)境的安裝和運(yùn)行More應(yīng)用開(kāi)發(fā)環(huán)境以安裝包的形式發(fā)布,根據(jù)提示安裝完畢后,安裝程序會(huì)在桌面上添加應(yīng)用程序圖標(biāo):第一次運(yùn)行MVBuilder.exe的快捷方式,會(huì)出現(xiàn)新建工程的對(duì)話框: 在對(duì)話框中填入項(xiàng)目名并且選擇目錄之后便可以生成第一個(gè)More應(yīng)用程序開(kāi)發(fā)的模板工程。在這里你也可以選擇應(yīng)用程序需要包含的基礎(chǔ)庫(kù):n MoreSdk是完全用C語(yǔ)言開(kāi)發(fā)的API接口庫(kù),主要用于狀態(tài)機(jī)相對(duì)簡(jiǎn)單的單窗口的應(yīng)用程序。n MoreMfw類(lèi)庫(kù)是基于MoreSdk開(kāi)發(fā)成的C+基礎(chǔ)類(lèi)庫(kù)。它提供了一套完成的窗口控件類(lèi)庫(kù)以及其他C+基本類(lèi)庫(kù)如:String、Vec
3、tor等。點(diǎn)擊OK后會(huì)自動(dòng)打開(kāi)MVBuilder真機(jī)編譯器和VC模擬開(kāi)發(fā)環(huán)境。應(yīng)用程序的開(kāi)發(fā)和調(diào)試一般在模擬環(huán)境下完成,高仿真的PC模擬環(huán)境能為你提供方便快捷的開(kāi)發(fā)工具和調(diào)試手段,加快應(yīng)用開(kāi)發(fā)進(jìn)度。應(yīng)用程序完成開(kāi)發(fā)后你可以用MVBuilder對(duì)代碼進(jìn)行編譯生成的手機(jī)版可執(zhí)行文件,加載到手機(jī)中運(yùn)行。 MVBuilder真機(jī)編譯器More平臺(tái)提供可視化的真機(jī)編譯工具M(jìn)VBuilder,完成More應(yīng)用項(xiàng)目目標(biāo)編譯的任務(wù)。MVBuilder建立在ADS基礎(chǔ)之上。所以在編譯之前,需要安裝ADS1.2(Build848)。你可以在MVBuilder中“選擇項(xiàng)目”來(lái)編譯,也可以通過(guò)它“生成新項(xiàng)目”。MVB
4、uilder也可以對(duì)目標(biāo)編譯的可執(zhí)行文件進(jìn)行壓縮打包,你可以通過(guò)“設(shè)置”屬性來(lái)選擇是否需要進(jìn)行壓縮?;贛oreSdk的應(yīng)用開(kāi)發(fā)簡(jiǎn)介在生成新項(xiàng)目時(shí)選擇“基于MoreSdk”可以生成一個(gè)基于MoreSdk應(yīng)用程序的模板?;贛oreSdk的應(yīng)用程序一般用在狀態(tài)機(jī)相對(duì)簡(jiǎn)單的應(yīng)用程序開(kāi)發(fā),或者C語(yǔ)言版本的應(yīng)用程序的移植?;贛oreSdk的程序模板只有一個(gè)c文件,該文件命名和項(xiàng)目名相同(如test.c)。文件內(nèi)容為:#include More.hint MoreProc(int msg,void * param)switch (msg)case MM_START:case MM_KEY:MoreKe
5、yPtr more_key = (MoreKeyPtr)param;MoreTrace(key msg arrive! key_code = %d,key_type = %d,n,more_key-keycode,more_key-keytype);break;default:break;return 0;/More 應(yīng)用入口函數(shù),MoreMainvoid MoreMain()/注冊(cè)事件處理函數(shù),注冊(cè)之前應(yīng)用不可以調(diào)用More系統(tǒng)接口。MoreAppInit(MoreProc); More.h 包含了所有MoreSdk中API的聲明,需要調(diào)用MoreSdk中的API只需要包含這個(gè)頭文件即可。M
6、oreMain為應(yīng)用程序入口函數(shù),通過(guò)MoreAppInit將事件處理函數(shù)注冊(cè)到系統(tǒng),在此之后系統(tǒng)消息會(huì)發(fā)送到該事件處理函數(shù)中進(jìn)行處理。一般應(yīng)用中需要處理的系統(tǒng)事件有: MM_START:應(yīng)用程序啟動(dòng)事件,可以在此事件中做應(yīng)用程序初始化工作。 MM_SHOW:應(yīng)用程序窗口顯示事件,這個(gè)事件可能在應(yīng)用啟動(dòng)時(shí)和應(yīng)用程序窗口被其他窗口(如通話窗口)覆蓋后重新顯示時(shí)被觸發(fā)。 MM_HIDE: 應(yīng)用程序窗口隱藏事件,這個(gè)事件在應(yīng)用程序窗口被其他窗口(如通話窗口)覆蓋時(shí)被觸發(fā)。 MM_EXIT:應(yīng)用正常退出事件,應(yīng)用程序調(diào)用MoreAppExit退出時(shí)觸發(fā)的事件??梢栽诖耸录凶鰬?yīng)用程序所占用資源的釋放,
7、文件和網(wǎng)絡(luò)的句柄的關(guān)閉等等處理。 MM_KILL:應(yīng)用被動(dòng)退出事件,應(yīng)用程序在某些情況下(如內(nèi)存不足)被強(qiáng)行關(guān)閉時(shí)觸發(fā)的事件。由于應(yīng)用程序是被動(dòng)退出,所以除了要處理MM_EXIT事件的處理外,可能對(duì)某些應(yīng)用程序,需要保存當(dāng)前狀態(tài),以便下次啟動(dòng)時(shí)恢復(fù)。 MM_PAINT: 該事件在應(yīng)用程序界面需要重新繪制的時(shí)候被調(diào)用,可能觸發(fā)該事件的情況有兩種:1.應(yīng)用程序窗口被顯示;2.應(yīng)用程序調(diào)用MoreFlush刷新窗口。 MM_PEN: 觸筆事件,觸筆被點(diǎn)下,抬起和點(diǎn)下后移動(dòng)時(shí)觸發(fā)。 MM_KEY: 按鍵事件,按鍵被按下,抬起時(shí)被觸發(fā)More應(yīng)用程序的編寫(xiě)主要是完成對(duì)這些事件的處理。比如需要繪制一張圖片
8、到屏幕上,需要調(diào)用以下幾個(gè)API函數(shù)1. 創(chuàng)建圖片對(duì)象:在MM_START事件處理中調(diào)用CreateMoreImage函數(shù)創(chuàng)建圖片對(duì)象;2. 繪制圖像:在MM_PAINT事件處理中調(diào)用MoreDrawImage函數(shù)繪制圖像;3. 刷新圖像:在MM_KEY等事件處理時(shí)調(diào)用MoreFlushFullScreen刷新圖像;4. 刪除圖片對(duì)象:在MM_EXIT和MM_KILL事件中調(diào)用DelMoreImage刪除圖片對(duì)象。關(guān)于API調(diào)用的詳細(xì)情況請(qǐng)參閱More API使用說(shuō)明書(shū)?;贛oreMfw的應(yīng)用開(kāi)發(fā)簡(jiǎn)介在生成新項(xiàng)目時(shí)選擇“基于MoreMfw”可以生成一個(gè)基于MoreMfw應(yīng)用程序的模板?;贛
9、oreMfw的應(yīng)用程序一般用于狀態(tài)機(jī)相對(duì)比較復(fù)雜的應(yīng)用程序開(kāi)發(fā),或者C+語(yǔ)言版本的應(yīng)用程序(如Symbian應(yīng)用程序)或者Java版本的應(yīng)用程序(如Midlet)的移植。Mfw提供了一套完整的多窗口應(yīng)用解決方案。應(yīng)用程序的核心是窗口鏈,窗口鏈構(gòu)成了應(yīng)用的所有界面,是應(yīng)用程序狀態(tài)切換的載體,同時(shí)也是應(yīng)用程序數(shù)據(jù)保存的載體。在MoreMfw的程序模板中有兩個(gè).c文件,一個(gè)是和項(xiàng)目名一樣的.c文件(如 test.c),另一個(gè)是MainScreen.c。test.c是中的appStart函數(shù)是Mfw應(yīng)用程序的入口,在AppStart中必須調(diào)用appendScreen接口添加應(yīng)用程序的第一個(gè)窗口,在模板
10、中是MainScreen。MainScreen.c是應(yīng)用的第一個(gè)窗口,在該窗口的事件處理函數(shù)中可以創(chuàng)建更多的窗口并通過(guò)appendScreen函數(shù)添加到窗口鏈中。在窗口中添加控件在窗口的構(gòu)造函數(shù)或者其他處理函數(shù)中向窗口中添加控件,調(diào)用appendControl或者appendActiveControl接口向窗口中添加自己想要的控件,如:this-button_menu = new MButton(MRect(5,294,46,22),CTRL_BUTTON_MENU,選項(xiàng));appendControl(this-button_menu);這兩條語(yǔ)句在窗口的(5,594)坐標(biāo)上添加了一個(gè)大小為(
11、46,22)的按鈕,該按鈕的id是CTRL_BUTTON_MENU,按鈕上顯示的文字是“選項(xiàng)”。自定義窗口自定義窗口通過(guò)繼承MScreen類(lèi)實(shí)現(xiàn),類(lèi)似MainScreen,在自定義的窗口類(lèi)里面,通過(guò)改寫(xiě)基類(lèi)的事件處理函數(shù)邏輯實(shí)現(xiàn)特定窗口特定的操作模式和數(shù)據(jù)處理,也可以添加新的變量和處理函數(shù)。窗口類(lèi)中可以繼承的事件處理函數(shù)有很多,大部分對(duì)應(yīng)于MM_START等事件,例如: onSysEvent:系統(tǒng)事件函數(shù),對(duì)應(yīng)MM_START、MM_SHOW、MM_EXIT等 Paint函數(shù):窗口繪制函數(shù),對(duì)應(yīng)于MM_PAINT事件 onKeyPressed、onKeyReleased:按鍵處理函數(shù),對(duì)應(yīng)于MM_KEY事件 pointerPressed、pointerReleased、pointerDragged:觸筆處理函數(shù),對(duì)應(yīng)于MM_PEN控件和窗口的交互控件和窗口的交互通過(guò)控件事件處理函數(shù)完成:virtualint onCtrlEvent(int ctrl_id, int msg_id);控件處理的所有事件都會(huì)通過(guò)這個(gè)函數(shù)通知到窗口,如按鈕的按下事件和彈起事件。列表的選擇事件等等。可以通過(guò)ctrl_id和msg_id發(fā)送事件的控件和所處理的事件。自定義控件自定義控件通過(guò)繼承MC
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海市澄衷高級(jí)中學(xué)2025年高三4月調(diào)研測(cè)試(二模)物理試題含解析
- 四川省攀枝花市西區(qū)2025屆三年級(jí)數(shù)學(xué)第二學(xué)期期末調(diào)研模擬試題含解析
- 遼寧省沈陽(yáng)市第一三四中學(xué)2025年初三最后一模(5月月考)生物試題含解析
- 委托合同協(xié)議書(shū)范本十
- 四川省瀘州市瀘縣一中2025屆招生全國(guó)統(tǒng)一考試(模擬)化學(xué)試題含解析
- 設(shè)備買(mǎi)賣(mài)合作合同
- 產(chǎn)品陳列合同
- 餐廳主管勞動(dòng)合同
- 統(tǒng)編版二年級(jí)語(yǔ)文下冊(cè)期中測(cè)試卷(B)(含答案)
- 江西省贛州市龍南市2024-2025學(xué)年七年級(jí)下學(xué)期期中地理試題(含答案)
- 2024國(guó)家能源集團(tuán)新疆哈密能源化工有限公司社會(huì)招聘110人筆試參考題庫(kù)附帶答案詳解
- 糖尿病飲食與護(hù)理
- 2025年天津市河?xùn)|區(qū)中考一模歷史試題(原卷版+解析版)
- 停送電培訓(xùn)課件
- 《基于STM32的智能水質(zhì)檢測(cè)系統(tǒng)的設(shè)計(jì)》9400字(論文)
- 無(wú)線網(wǎng)絡(luò)施工方案
- 公路養(yǎng)護(hù)員工安全教育培訓(xùn)
- 重慶大渡口區(qū)公安分局輔警招聘考試真題2024
- 醫(yī)療護(hù)理技術(shù)操作規(guī)程
- 2025年教師國(guó)際交流合作計(jì)劃
- 水泥廠危險(xiǎn)源辨識(shí)及風(fēng)險(xiǎn)評(píng)價(jià)表 (一)
評(píng)論
0/150
提交評(píng)論