1軟件一二部新員工培訓(xùn)期計(jì)劃MMI開發(fā)工程師_第1頁
1軟件一二部新員工培訓(xùn)期計(jì)劃MMI開發(fā)工程師_第2頁
1軟件一二部新員工培訓(xùn)期計(jì)劃MMI開發(fā)工程師_第3頁
1軟件一二部新員工培訓(xùn)期計(jì)劃MMI開發(fā)工程師_第4頁
1軟件一二部新員工培訓(xùn)期計(jì)劃MMI開發(fā)工程師_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、軟件新員工培訓(xùn)期計(jì)劃( MMIMMI 開發(fā)工程師)修改記錄版本號擬制人 / / 修改人擬制 / /修改日期更改理由V1.0佚名2010-02-01V1.1Kite2010-02-11增加了常用軟件安裝、編譯命令注意事項(xiàng)、實(shí)踐部分注意點(diǎn)(字串資源添加部分) ;V1.2Kite2010-02-26依據(jù) yy 的建議, 增加版本修改部分, 并對實(shí)踐部分繼續(xù)進(jìn) 行完善和補(bǔ)充,并對文檔進(jìn)行了標(biāo)準(zhǔn)化;1.1. 前言本計(jì)劃主要針對新入職的無工作經(jīng)驗(yàn)的新員工在 MTK 平臺的開發(fā)和日常相關(guān)工作的培訓(xùn)計(jì)劃, 培訓(xùn)主要關(guān)注點(diǎn)為日常工作的基本工作技能培養(yǎng),有關(guān)系統(tǒng)性的深入培養(yǎng)暫不納入本計(jì)劃之內(nèi),有待工作中持續(xù)加強(qiáng)和

2、通過內(nèi)部專項(xiàng)培訓(xùn)進(jìn)行提高。對于有一定工作經(jīng)驗(yàn)但無 MTK 平臺經(jīng)驗(yàn)的新入職員工,指導(dǎo)老師可以根據(jù)實(shí)際情況, 調(diào)整培訓(xùn)計(jì)劃, 而不用完全按照本計(jì)劃表進(jìn)行。 但是所作調(diào)整也需要另擬培訓(xùn)計(jì)劃表, 作為 培訓(xùn)之依據(jù),且培訓(xùn)之最終效果也應(yīng)達(dá)到本計(jì)劃中所列所有培訓(xùn)目標(biāo)項(xiàng)。對于有一定工作經(jīng)驗(yàn),且具 MTK 平臺經(jīng)驗(yàn)的新入職員工,指導(dǎo)老師可以依據(jù)本計(jì)劃中 所列的培訓(xùn)目標(biāo)項(xiàng)對其進(jìn)行評估。 如果能達(dá)到我們培訓(xùn)目標(biāo)的培訓(xùn)項(xiàng)可以略過; 如果無法達(dá) 到的,必須也按照本計(jì)劃相應(yīng)培訓(xùn)項(xiàng)的措施進(jìn)行培養(yǎng)。2.2. 開發(fā)環(huán)境搭建常用軟件安裝指南如下是常用軟件的安裝地址,相關(guān)軟件的按照指導(dǎo)文檔見: 編譯環(huán)境 SCM 常用軟件安裝指

3、南 最新版本 .doc,重點(diǎn)需要注意的是 ADS 、CC和 CQ的安裝。序號軟件說明下載地址備注1VC/soft/MStudio98/2sourceinsight代碼瀏覽器網(wǎng)絡(luò)下載,或者找周圍同事3ultraedit文本編輯器網(wǎng)絡(luò)下載,或者找周圍同事4beyond compare比較工具網(wǎng)絡(luò)下載,或者找周圍同事5perl編譯環(huán)境編譯環(huán)境ActivePerl-11-MSWin32-x86-122208. msi6ADS12編譯環(huán)境編譯環(huán)境 ads 1.2參照 SCM 常用軟件安裝指南 .doc 注意安裝在 C 盤7ADS patch編譯環(huán)境編譯環(huán)境

4、 ADS1.2 Patch ToBuild 848ADS12 安裝完畢之后, 把 ADS patch 下的 文件直接 copy 到安裝目錄下覆蓋原文件 即可8MinGW編譯環(huán)境編譯環(huán)境 MinGW直接 copy 到 ARM 安裝目錄,與 ADSv1 2 目錄并列9msys編譯環(huán)境編譯環(huán)境 msys同上10incredibuild分布式編譯分布式編譯客戶端極其補(bǔ)丁3.40Coordinator location, computer 選 擇:0012incredibuild分布式編譯分布式編譯客戶端極其補(bǔ)丁3.40incredibuild 3.40patch運(yùn)行 key.b

5、at 文件即可,注意該軟件有 30 天試用期,在試用期到期之前重新運(yùn)行 key.bat ,則恢復(fù)試用期到 30 天(有個(gè) task 的補(bǔ)丁, 可以每周自動更新時(shí)間為 30 天)13Flashtool工具找周圍同事要用于把 bin 文件下載到手機(jī)上,操作參考 相關(guān)文檔14Cather工具找周圍同事要用于調(diào)試跟蹤故障,操作參考相關(guān)文檔15Meta工具找周圍同事要查看手機(jī)文件系統(tǒng),操作參考相關(guān)文檔16cc(clearcase)版本控制0clearcase setup參照 SCM 常用軟件安裝指南 .doc17cq(clearquest)故障管理0cq參

6、照 SCM 常用軟件安裝指南 .doc常用軟件安裝注意要點(diǎn)1、 ADS 安裝請注意導(dǎo)入 license.dat(在 ADS 安裝目錄下) ,否則 ADS 編譯報(bào)錯(cuò);2、 sourceinsight 輸入注冊碼后請注意不要回車,而應(yīng)該點(diǎn)擊 OK 按鈕,否則回車會按照試用( try it )處理;3、 分布式編譯過程中運(yùn)行 build monitor 可以觀察到分布式編譯所用到的計(jì)算機(jī), 其實(shí)也是 判斷分布式編譯是否有效的一種方法;4、 Ultraedit 如果打開文本文件為亂碼,請另存一下,然后從新打開;5、 CC 上軟件版本 config spec 的查詢, 請登錄 http:/192.168

7、.24.15/cqweb/login (可以問技術(shù) 管理部申請賬號),選擇版本管理系統(tǒng)登錄進(jìn)入,公共查詢 - 版本跟蹤 -all_project ,查找并選擇項(xiàng)目名稱,再選擇“ FOR 自動編譯”即可。3.3. 基本技能學(xué)習(xí)版本控制工具學(xué)習(xí)關(guān)于 CC 、CQ 使用的簡單培訓(xùn)學(xué)習(xí)目標(biāo):a. 會自己使用 CC 建立相應(yīng)項(xiàng)目的代碼環(huán)境;能夠明白 CC 中 label、 branch、 vob、 cs、節(jié)點(diǎn)、 view 等概念。b. 能夠熟悉 CQ 中 BUG 的管理流程。(此時(shí)并不要求對 CC 其他功能的熟練使用,后續(xù)會有相應(yīng)安排)編譯命令學(xué)習(xí)學(xué)習(xí) targettarget 環(huán)境的編譯命令學(xué)習(xí)目標(biāo):

8、能夠區(qū)分 new、remake、update、clean、 resgen 等的用法;編譯出錯(cuò)如何在 LOG 目錄下尋找相應(yīng)信息。這里先簡單介紹一下幾個(gè)命令的區(qū)別:1)new 用于生成 .bin 文件,它包含以下動作 clean + scan + compile + link使用方法一般是這樣的: make D901 gprs/gsm new其中 D901 是 cusotmer 名稱,為了表述方便以 D901 為例, gprs/gsm 是 project2)update 編譯一個(gè)或多個(gè)模塊,它包含以下動作:scan + compile +link 。使用方法是 make D901 gprs/gs

9、m update mmiresource ,其中 mmiresource 是具體某個(gè)模塊的名稱, update 會首先檢查文件之間的依賴關(guān)系, 然后編譯發(fā)生改 變的代碼。 Update 后面如果不跟模塊名稱,則是編譯所有模塊。3)remake 應(yīng)該是最常用的編譯命令,使用方法是:make D901 gprs/gsm remake mmiresource ,它包含以下動作: compile + link學(xué)習(xí) PCPC 模擬器的編譯培訓(xùn)目標(biāo):學(xué)習(xí) modis 的編譯,能夠生成所需要的工作組文件 MoDIS.dsw ,并在該工 作組下進(jìn)行代碼調(diào)試。一般情況下,為了產(chǎn)生 modis.dsw 文件,需要

10、進(jìn)行以下幾步:make D901 gprs newmake D901 gprs gen_modismake D901 gprs codegen_modis其中命令 new 只需編譯大約幾分鐘,等資源編譯成功后,就可以終止,然后執(zhí)行g(shù)en_modis,codegen_modis,生成工作組文件 modis.dsw ,就說明命令執(zhí)行成功了。以 上 簡 單 介 紹 了 比 較 常 用 的 幾 個(gè) 編 譯 命 令 , 具 體 請 參 考 MTK 文 檔 MTK_MakeBuild_Design_Customer.pdf ,該文檔詳細(xì)介紹了 make 指令、 Gsm.mak 、 Option.mak 、

11、Verno_*.bld 、 make.bat,以及每條指令是怎么解析的,告訴開發(fā)人員如何新添 加一個(gè)模塊并編譯它。編譯命令注意事項(xiàng)1、如果新員工對于 GNU gcc 編譯過程有理解的話 (沒有這方面的經(jīng)驗(yàn), 則可以補(bǔ)充一下這 方面的知識, MTK 的編譯過程本質(zhì)上也是對 GNU gcc 編譯的應(yīng)用,只不過做了一定的 封裝,并借助了 perl 語言),將有助于理解 MTK 的編譯過程;2、不管是編譯還是 Modis 編譯, 請事先啟動分布式編譯工具 ( Incredibuild Agent Tray-icon , 啟動之后在電腦屏幕右下角有一個(gè)箭頭顯示)以提高編譯效率,否則編譯時(shí)間會很長;3、

12、VC 可以直接關(guān)聯(lián)分布式,這樣在 VC 上就可以出現(xiàn)分布式的按鈕;4、編譯過程中請注意不要改動 cmd 窗口屬性中緩沖區(qū)大小的設(shè)置, 如果設(shè)置過大, 可能因 內(nèi)存不足導(dǎo)致編譯時(shí)間過長(即使是啟動了分布式編譯) ;5、 在 VC 環(huán)境下運(yùn)行 Modis ,如果出現(xiàn)頭文件找不到的情況,請查看 modis 目錄下各個(gè)子目錄下相關(guān) ini 文件中有關(guān)該頭文件的指定路徑,并檢查該路徑下是否存在該頭文件;6、運(yùn)行 modis看不到界面, 請檢查 MoDISMoDISSkins 目錄下的圖片文件是否沒有解壓縮, 從而造成圖片資源無法加載;7、如 果 modis 運(yùn) 行 報(bào) 有 些 函 數(shù) 或 者 變 量 找

13、 不 到 的 鏈 接 錯(cuò) 誤 , 則 在 MoDISdrv_simsrcw32_dummy_wndrv.c 源文件中添加該函數(shù)或者變量定義,并重新運(yùn) 行即可;8、分布式編譯錯(cuò)誤排除: 定位是哪個(gè)模塊出現(xiàn)分布式編譯錯(cuò)誤, 對該模塊進(jìn)行 clean 操作, 重新對該模塊單獨(dú)進(jìn)行 remake,最后再對整個(gè)工程 remake;9、如果只修改了 *.lis 文件(即增加了源文件,并且頭文件沒有被放在新增加的目錄下) , 只需要 remake; modis 需要重新 gen_modis。4.4. MTKMTK 框架文檔學(xué)習(xí)本階段主要進(jìn)行 MMI 相關(guān)方面知識的學(xué)習(xí),主要是 MTK 框架理論知識的學(xué)習(xí),是

14、比 較重要的,為以后深入研究各個(gè)模塊,解決系統(tǒng)性問題打下了基礎(chǔ)。學(xué)習(xí)目標(biāo): 1. 大致了解 MTK 軟件框架和相關(guān)的基本概念2. 熟悉 MTK 的 category 概念3. MMI 框架的學(xué)習(xí), MMI FrameWork , History 機(jī)制, screen、 app 概念4. 了解 nvram 的作用MMIMMI frameworkframework andand architecturearchitectureMMI Framework 介紹了 MTK 的 MMI 方面的軟件架構(gòu),這部分主要包括:1. 事件的處理2. history 的管理3. OSL Wrapper4. NVRA

15、M5. 文件系統(tǒng)管理6. UI layer 與 Layer 4 的交互7. 解觸摸屏的響應(yīng)機(jī)制這部分的參考文檔有:a. MMI_framework_and_architecture.pdfb. MMI Platform Source Code Training.pdf 如上兩篇文檔非常重要,要對整個(gè) MTK 軟件架構(gòu),尤其是 MMI 架構(gòu)要有一個(gè)整理的 理解,學(xué)習(xí)注意點(diǎn):1、L4 層很多術(shù)語和 GSM/GPRS 通信協(xié)議相關(guān),要求新員工有一定的通信知識基礎(chǔ)(沒有 學(xué)過的要補(bǔ)補(bǔ)基礎(chǔ)課,比如通信原理、計(jì)算機(jī)網(wǎng)絡(luò)、 GSM/GPRS 無線通信原理等,重點(diǎn) 是對通信模型、 OSI 七層協(xié)議棧、 GSM

16、/GPRS 相關(guān)的術(shù)語的理解) ;2、 請參考傅貴寫的 MTK-MMI 初學(xué)者培訓(xùn)文檔,里面有詳細(xì)的編程示例介紹。NVRAMNVRAM 的學(xué)習(xí)NVRAM 為用戶提供了數(shù)據(jù)存取的途徑, 用戶可以以一種統(tǒng)一固定的方式訪問 NVRAM 中的數(shù)據(jù), 而不用關(guān)心存儲數(shù)據(jù)的物理設(shè)備的介質(zhì)是 EEPROM 還是 FLASH 。所以當(dāng)?shù)讓哟?儲數(shù)據(jù)的介質(zhì)變化時(shí),用戶上層的應(yīng)用程序接口無需變化。這部分主要的學(xué)習(xí)文檔有:1. NVRAM_Configuration_Guide_User(2).pdf2. FS_NVRAM_Oct2004(1).pdf3. NVRAM_Restore_Factory_Default

17、_SOP.pdfFileFile SystemSystem的學(xué)習(xí)這部分包括文件系統(tǒng)的 API 函數(shù),以及 file manager,其中 file manager 分為兩部分: FMGR Engine ,F(xiàn)MGR UI , FMGR Engine 為 audio player,Image viewer ,camera,profile 等 提供了文件操作的接口。這部分的參考文檔有:1. Presentation-FileSystem-20040702.pdf2. MMI_DD_File_Manager.pdf3. DD_FRM_GDI.pdf4. DD_FRM_GDI_ROTA TE.pdf5.

18、 Training_GDI.pdfGDIGDI 的學(xué)習(xí)模塊研究在學(xué)習(xí)了以上理論知識之后, 可以選擇一個(gè)模塊為入口點(diǎn), 來進(jìn)行代碼研讀, 以一斑以 窺全局,這樣可以快速地熟悉 MTK 代碼結(jié)構(gòu)。5.5. 實(shí)踐部分這部分主要是完成一些簡單任務(wù):1. 在模擬器上完成某個(gè)菜單下增加一個(gè) mytest 菜單, mytest 下有兩個(gè)子菜單, 子菜單 1 用來一個(gè) list 菜單,子菜單 2 用來彈出一個(gè) pop 窗口,并且在定時(shí) 30 秒后自 動退出。每個(gè)菜單需要使用新的字符串和icon 。培訓(xùn)目標(biāo): 熟悉各類資源(字串、圖片、菜單等)的使用、 keyhandler 的概念、 hilight 概念、定時(shí)

19、器 Timer 使用;2. 在現(xiàn)有 8 張墻紙基礎(chǔ)上添加一張墻紙,以支持9 張壁紙,并設(shè)置新加墻紙為缺省墻紙,缺省屏保打開,等待時(shí)間為 30 秒 培訓(xùn)目標(biāo): nv 的概念; nv 項(xiàng)的修改3. 客戶版本制作培訓(xùn)目標(biāo): 與客戶版本相關(guān)的文件熟悉, 熟悉編譯過程中這些客戶資源相關(guān)的文件的來 龍去脈; CC 新文件提交,老文件修改;客戶版本發(fā)布流程。6.6. MTKMTK 開發(fā)工具使用MTK 開發(fā)工具主要包括以下幾部分,這些工具都是以后工具過程中經(jīng)常使用的:1. catch 工具 手機(jī)的 trace 工具,通過把消息和 trace 打印到屏幕上,清晰地顯示出手機(jī) 的運(yùn)行過。 MTK release過

20、來的 Catcher可能隱藏一些消息。 Catcher 打印到屏幕的消息 比較常用的函數(shù)有: PRINT_INFORMATION 、 kal_prompt_trace 、 kal_buffer_trace 。具體 使用說明請參照 Catcher_User_Manual_for_Customer_2007.11.30.pdf 。2. Flash_tool.exe 工具 用于下載 .bin 文件到手機(jī)。3. File2Array.exe 工具 轉(zhuǎn)化 mp3、圖片文件為二進(jìn)制文件,供程序使用。4. META 工具 META 可以查看手機(jī)文件系統(tǒng), NVRAM 項(xiàng)等。7.7. 新員工技術(shù)小結(jié)分配具體模

21、塊, 熟悉該模塊,解決該模塊相應(yīng)的故障,并負(fù)責(zé)研究該模塊, 寫出相應(yīng)模 塊的學(xué)習(xí)文檔。8.8. 部門轉(zhuǎn)正評審使用內(nèi)部答辯會的形式進(jìn)行轉(zhuǎn)正答辯,由非指導(dǎo)方來對培訓(xùn)效果進(jìn)行檢驗(yàn)。9.9. MMIMMI 學(xué)習(xí)要點(diǎn)總結(jié)模塊代碼添加步驟MTK MMI 模塊添加三步驟1、 源文件的添加:添加新的MMI 模塊一般放在 目錄下面,最好在plutommimmi 目錄下另建子目錄, 頭文件和源代碼分開兩個(gè)子目錄存放, 目錄名稱 一般遵循如下命名規(guī)范: inc、 src;2、 模塊的編譯配置:在 make 目錄下建立子目錄(該子目錄為功能名稱和源文件所在 目錄名對應(yīng)起來) ,該目錄下依據(jù)如下命名規(guī)范分別創(chuàng)建4 個(gè)文

22、件: .lis 、.pth 、 .inc、.def ;其中 inc 文件中要包含本模塊 源文件所用到的 所有頭文件路徑位置 ; def 文件可以為空,如果缺少該文件, make gen_modis 的時(shí)候可能會出異常;3、 編譯輸出:在 option.mak 文件中添加模塊名和宏開關(guān),關(guān)鍵字為: COMPLIST 和 COM_DEFS ,以確保所加代碼能夠被正確的編譯;以上三個(gè)步驟回答和解決了如下三個(gè)問題:1、你所編寫的代碼源文件和頭文件在物理存儲文件上是如何組織的(邏輯上的組織要 看設(shè)計(jì)文檔或者存在于編碼者的腦子里)?2、你所編寫的源碼告知編譯器如何編譯(告知編譯器源碼的相對路徑、源文件列表

23、和 頭文件,其實(shí)這些配置文件的內(nèi)容最終會被作為 tcc 編譯命令的編譯參數(shù))?3、 編譯的輸出是什么 (編譯的輸出是庫文件, 最終體現(xiàn)在 option.mak 文件的配置中) ?字串資源添加步驟1、 MMIDataType.h 中添加兩個(gè)宏定義: _BASE 、_BASE_MAX , 用于定義本模塊資源 ID 的起始位和資源 ID 數(shù)量最大數(shù),我們所有資源 ID 的定義 都要基于 _BASE 這個(gè)宏進(jìn)行累加; MMIDataType.h 中的理解重點(diǎn)是兩 個(gè)宏定義: GET_RESOURCE_BASE(id) 和 GET_RESOURCE_MAX(id) ,這涉及到一個(gè)#符號是宏組合的概念;2

24、、在defs.h 文件定義一個(gè)字串的枚舉類型,用于羅列所有字串 ID 的定義;3、在 ref_list_09A.xls 定義各個(gè)字串的內(nèi)容,要注意和 defs.h 中的 ID 要對應(yīng);4、在 plutommiCustomerCustResourcePLUTO_MMIRes_MMI 目錄下新建一個(gè)源文件 res_.c ,新建一個(gè)函數(shù)并調(diào)用 ADD_APPLICATION_STRING2 宏添加本 模塊所用到的所有的字符資源;5、如 果 res_.c 中 包 含 了 自 定 義 的 頭 文 件 , 則 需 要 在 plutommiCustomerResGeneratormakefile 文件中添加

25、該頭文件的路徑,以便編譯 res_.c 文件時(shí)能夠順利編譯通過, 否則下一步的 make 命令可能執(zhí)行報(bào)錯(cuò); 該 makefile 文件是資源裝載預(yù)編譯程序的 makefile 文件;6、 執(zhí)行資源編譯命令: make gprs resgen;7、如果字串出現(xiàn)部分亂碼,請檢查在資料列表中資源的位置放的地方是否正確?比如 把繁體字體和簡體字體的位置搞反了。屏幕模板理解重點(diǎn)對于屏幕模板的理解重點(diǎn)是三個(gè)數(shù)據(jù)結(jié)構(gòu):1、組件結(jié)構(gòu), 例子: const U8 categoryxxx ;該結(jié)構(gòu)定義了一個(gè) Category 中包含的控件 (一個(gè) Category 是由多個(gè)控件組成的) ;2、組件屬性結(jié)構(gòu)數(shù)組,

26、 例子:const S16 coordinate_setxxx ;該結(jié)構(gòu)定義了一個(gè) Category 中包含的控件屬性;3、 映射表(數(shù)組) : dm_category_id_control_set map_struct g_category_controls_map ;該映射表通過 category_id 建立起 CategoryScreen、 DM 、 TouchScreen之間的聯(lián)系。各種 ShowCategoryScreen 函數(shù)定義可以參考文檔 MTK_MMI 函數(shù)手冊 .pdf ,Category 中所包含的控件定義可以在 CustCoordinates.c 中參閱到。定時(shí)器的使用

27、MTK 使用的定時(shí)器函數(shù)在 Mmi_frm_timer_gprot.h 中有定義,使用定時(shí)器的步驟如下:1、 timer_id 的定義,在 TimerEvents.h 中定義自己的 timerID ,請注意務(wù)必放在 MAX_TIMERS 之前定義;2、 定義定時(shí)處理函數(shù),在定時(shí)時(shí)間到達(dá)之后進(jìn)行相關(guān)處理,典型的操作包括:StopTimer 和 GoBackHistory ;3、 在 ShowCategoryScreen 之后 StartTimer ;4、 注意 delay 的時(shí)間為毫秒。資源編譯錯(cuò)誤定位資源編譯可能出現(xiàn)的錯(cuò)誤定位1、 如果出現(xiàn) “ Makefile:166: * missing

28、separator (did you mean TAB instead of 8 spaces?). Stop. 類”似的錯(cuò)誤, 請檢查對應(yīng)的 makefile 文件, 可能是該 makefile 文件中出現(xiàn)了空格;2、 如果運(yùn)行時(shí)字串顯示不出來,請檢查一下如下文件是否包含了自己定義的字串 plutommiCustomerCustResourceref_list.txt ;如果沒有,則有可能沒有把該文件從 code 目錄下 copy 過來,需要重新執(zhí)行 make gprs resgen。其它注意事項(xiàng)1、 各個(gè)版本的入口程序會與傅貴教材可能會有出入,請請教一下自己的師傅所取版本 的入口程序位置;

29、2、 Modis 能夠編譯通過, tcc 未必能夠編譯通過,不同的編譯器對于語法的規(guī)則要求是 不同的,比如在 VC 下可能是 warning ,但在 tcc 環(huán)境下可能就是錯(cuò)誤了;就個(gè)人感 覺來說 tcc 的編譯要比 vc 嚴(yán)格的多。10.10. 常用 CategoryCategory 速查序號CategoryCategory 編號類型說明ShowCategory1ScreenShowCategory4ScreenShowCategory6ScreenShowCategory55ScreenShowCategory56Screen列表文本列表顯示框, 4 附帶右軟鍵及 icon ,6 附帶左右

30、軟鍵,使用場景示例:通訊錄顯 示1ShowCategory2Screen提示錯(cuò)誤提示框,附帶左右軟鍵ShowCategory7Screen提示選擇提示框,附帶左右軟鍵,使用場景示例:刪除提示2ShowCategory3Screen列表文本列表顯示框,并能顯示 4 列 icon3ShowCategory1ScreenShowCategory4ScreenShowCategory6ScreenShowCategory55ScreenShowCategory56Screen列表文本列表顯示框, 4 附帶右軟鍵及 icon ,6 附帶左右軟鍵,使用場景示例:通訊錄顯 示4ShowCategory23S

31、creenShowCategory24ScreenShowCategory73ScreenShowCategory85ScreenShowCategory89Screen列表文本列表顯示框23:能夠顯示兩列文本, icon 在左24:附帶左右軟鍵, icon 在右73:能夠顯示一列文本,兩列 icon,并有高亮參數(shù) 85:附帶數(shù)字 icon89:與 85 的區(qū)別在于文本列自動生成ShowCategory101Screen列表5ShowCategory5ScreenShowCategory21Screen文本顯示文本顯示框, 5附帶左右軟鍵, 21 附帶左軟鍵ShowCategory9Scree

32、nShowCategory58ScreenShowCategory59ScreenShowCategory60Screen文本顯示文本顯示框:9 的 icon 在文本下方;58、59 附帶左右軟件, icon 在文本的左邊, 58 和 59 只有一個(gè)參數(shù)的區(qū)別,后者參數(shù) 為指針;ShowCategory61ScreenShowCategory62ScreenShowCategory63ScreenShowCategory64ScreenShowCategory65Screen60、 61附帶標(biāo)題,標(biāo)題附帶 icon,60和 61只有一個(gè)參數(shù)的區(qū)別,后者參數(shù)為指針62、63 附帶 icon 并顯

33、示在中間,且不全屏顯示, 62 和 63 只有一個(gè)參數(shù)的區(qū)別,后者 參數(shù)為指針64、 65和 62、 63只有顯示位置的區(qū)別: 62、63的文本在上 icon 在下, 64、65反之ShowCategory69ScreenShowCategory70Screen文本顯示文本顯示框,文本可編輯, 69 和 70 只有一個(gè)參數(shù)的區(qū)別,后者參數(shù)為指針ShowCategory28ScreenShowCategory29Screen文本顯示顯示短信內(nèi)容ShowCategory34ScreenShowCategory35Screen文本顯示文本和圖片顯示,附帶左右軟鍵, 35 增加了一個(gè)可編輯的文本框Sh

34、owCategory74Screen文本顯示Scroll,用于顯示較長的文本,尤其是一屏顯示不完的,超出一屏可以滾動顯示ShowCategory71ScreenShowCategory72Screen進(jìn)度顯示進(jìn)度顯示框, 71和 72只有一個(gè)參數(shù)的區(qū)別,后者參數(shù)為指針ShowCategory87ScreenShowCategory88Screen進(jìn)度顯示進(jìn)度條顯示, 88 有主輔兩個(gè)進(jìn)度條ShowCategory8ScreenShowCategory67ScreenShowCategory68Screen圖片 /動畫圖片顯示框,附帶左右軟鍵8:可顯示圖片和文本67:只顯示 icon68:停用S

35、howCategory142Screen圖片 /動畫顯示圖片ShowCategory301Screen圖片 /動畫顯示 icon 的消息框ShowCategory106ScreenShowCategory166ScreenShowCategory313Screen圖片 /動畫顯示動畫: 106 用于顯示屏保動畫, 166 用于顯示其它動畫, 313 和 166 從參數(shù)上看無 區(qū)別ShowCategory10ScreenShowCategory25ScreenShowCategory26ScreenShowCategory27ScreenShowCategory90Screen時(shí)間 /日期/日歷

36、系統(tǒng)時(shí)間顯示框,附帶左右軟鍵10:只顯示系統(tǒng)時(shí)間 25:顯示時(shí)間和日期并可以編輯 26:只顯示日期并可編輯 27:只顯示時(shí)間并可編輯 90:ShowCategory80ScreenShowCategory81ScreenShowCategory82Screen時(shí)間 /日期/日歷80/81:公歷顯示82:農(nóng)歷顯示ShowCategory11ScreenShowCategory36Screen單選單選按鈕顯示框,附帶左右軟鍵, 36 增加了一個(gè)高亮參數(shù), 使用場景示例:情景模式 選擇ShowCategory12ScreenShowCategory13ScreenShowCategory50Scre

37、enShowCategory51ScreenShowCategory75Screen復(fù)選11/12:復(fù)選按鈕顯示框,附帶左右軟鍵, 11 顯示的列表是靜態(tài)的, 12 顯示的列表是 動態(tài)的50/51:51 比 50 多了高亮參數(shù)75:停用ShowCategory14Screen九宮格顯示ShowCategory22Screen字符選擇框,附帶左右軟鍵,使用場景示例:特殊字符選擇ShowCategory52Screen/display menuitem /measure meuitem /highlight/remove hilghligh/hide meuitem/resize meuitemS

38、howCategory53ScreenShowCategory54ScreenShowCategory57ScreenShowCategory165ScreenPopup11.11. MMIMMI 實(shí)例訓(xùn)練 .pdf.pdf勘誤傅貴 MMI 實(shí)例訓(xùn)練 .pdf (共 108 頁)中有些是明顯的錯(cuò)誤,有些是因?yàn)檐浖姹旧?級而導(dǎo)致,在這里一并羅列出來,以便新員工查閱,避免無謂的時(shí)間浪費(fèi):1、 72頁 代 碼 15.4 : I_MENUITEM_CENTER_ICON_Y 應(yīng) 為UI_MENUITEM_CENTER_ICON_Y ;2、 73 頁代碼 15.5,函數(shù) gui_set_fixed_l

39、ist_menu_item_functions 的參數(shù)數(shù)量不夠,這應(yīng) 該是軟件版本的不一致所致,調(diào)整后的函數(shù)寫法如下:gui_set_fixed_list_menu_item_functions(&My_fixed_list_menu, gui_show_fixed_icontext_menuitem, gui_measure_fixed_icontext_menuitem, gui_highlight_fixed_icontext_menuitem, gui_remove_highlight_fixed_icontext_menuitem, gui_hide_fixed_icontext_m

40、enuitem,resize_fixed_icontext_menuitem, gui_get_fixed_icontext_menuitem_flag );建議 gui_show_fixed_icontext_menuitem 和 resize_fixed_icontext_menuitem 兩個(gè)回調(diào) 函數(shù)進(jìn)行重寫,否則 15.5 代碼可能執(zhí)行會報(bào)錯(cuò);3、86 頁代碼 18.1: disable_menu_shortcut_box_display = 1; 這行代碼可以去掉,因?yàn)檎?不到定義的地方;4、 87頁代碼 18.4:這段代碼應(yīng)該放在代碼 18.3 之前,否則執(zhí)行會出錯(cuò);5、 91頁

41、 代 碼 19.2 : 這 段 代 碼 :gui_measure_string(MMI_fixed_icontext_list_menuitemsindex.item_texts, &w, &h); 建議改為gui_measure_string(UI_string_type)MMI_fixed_icontext_list_menuitemsindex.item_te xts, &w, &h) ; 代 碼 : gui_print_bordered_text(MMI_fixed_icontext_list_menuitemsindex.item_texts); 建議改 為: gui_print_bordered_text(UI_string_type)MMI_fixed_iconte

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論