專利名稱:一種實(shí)現(xiàn)手機(jī)菜單動(dòng)態(tài)配置的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式軟件開(kāi)發(fā)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)手機(jī)菜單動(dòng)態(tài)配置的 方法。
背景技術(shù):
在編寫(xiě)手機(jī)菜單的應(yīng)用程序時(shí), 一般的做法是將菜單的名稱、功能函數(shù)的地址(用C語(yǔ)言編寫(xiě)手機(jī)程序是用函數(shù)的地址,用C+十或JAVA則是某個(gè)類的 某個(gè)方法)等直接寫(xiě)入應(yīng)用程序里。但是,如果用戶的需求不斷變化,例如 菜單名稱的改動(dòng)、菜單之間相對(duì)位置的變化、菜單在LCD上所顯示的圖形圖 像的變換等,這些都會(huì)導(dǎo)致程序員花費(fèi)大量的時(shí)間去修改代碼。而且從MVC (Model-View-Control,數(shù)據(jù)模型-視圖-控制,其中數(shù)據(jù)模型 是內(nèi)容,視圖是顯示效果,控制是如何管理數(shù)據(jù)、如何將數(shù)據(jù)顯示出來(lái)的方法) 的角度來(lái)分析,上述做法把Model (處理數(shù)據(jù)和完成某種特定功能)的代碼和 View(顯示給用戶看)的代碼混淆在一起,維護(hù)起來(lái)很容易出錯(cuò),往往是修改 了一處,其他地方又出現(xiàn)bug(程序缺陷);也有可能在修改過(guò)之后應(yīng)用程序隱 藏了某個(gè)現(xiàn)在很難發(fā)現(xiàn)的bug;或者干脆就很難修改。這些都是因?yàn)镃ontrol (控制)沒(méi)有做好。發(fā)明內(nèi)容本發(fā)明提供一種實(shí)現(xiàn)手機(jī)菜單動(dòng)態(tài)配置的方法,使得手機(jī)菜單顯示界面能 夠被方便靈活的修改。本發(fā)明所述技術(shù)方案如下 一種實(shí)現(xiàn)手機(jī)菜單動(dòng)態(tài)配置的方法,包括步驟A、 主應(yīng)用程序按照用戶對(duì)手機(jī)菜單的顯示要求在解析程序庫(kù)中調(diào)用相應(yīng) 的手機(jī)菜單解析程序;B、 解析程序解析菜單數(shù)據(jù)配置文件,解析完成后向主應(yīng)用程序返回顯示 代碼;C、 對(duì)返回的顯示代碼進(jìn)行編譯、鏈接,形成可執(zhí)行的二進(jìn)制文件;D、 所述手機(jī)讀取所述可執(zhí)行的二進(jìn)制文件并運(yùn)行后顯示相應(yīng)的手機(jī)菜單。 所述菜單數(shù)據(jù)配置文件為可擴(kuò)展標(biāo)識(shí)語(yǔ)言格式的配置文件。所述步驟A前還包括編寫(xiě)與各種菜單顯示風(fēng)格一一對(duì)應(yīng)的手機(jī)菜單解析 程序,形成解析程序庫(kù)的步驟。所述步驟D中,運(yùn)行所述二進(jìn)制文件將菜單的名稱、圖形圖像按照菜單數(shù) 據(jù)配置文件中菜單的相對(duì)位置顯示到手機(jī)屏幕上,然后再為每個(gè)菜單附加上其 相對(duì)應(yīng)的點(diǎn)擊功 能。所述顯示代碼為C語(yǔ)言文件或C語(yǔ)言代碼。所述菜單數(shù)據(jù)配置文件中的數(shù)據(jù)結(jié)構(gòu)為樹(shù)形結(jié)構(gòu)。由于本發(fā)明采用了以上技術(shù)方案,因此具有以下有益效果本發(fā)明所述技術(shù)方案中將手機(jī)菜單的顯示參數(shù)全部放在菜單數(shù)據(jù)配置文 件中,應(yīng)用程序中Model和View的代碼分離,程序一目了然、簡(jiǎn)潔明晰。程 序員在編寫(xiě)或修改Model (處理數(shù)據(jù)和完成某種特定功能)時(shí)與View(顯示給 用戶看)無(wú)關(guān),當(dāng)用戶的需求發(fā)生改變時(shí)程序員只需要靈活的修改菜單數(shù)據(jù)配 置文件就可以,不必改動(dòng)主應(yīng)用程序,使得程序員可以方便的對(duì)程序進(jìn)行維護(hù), 集中體現(xiàn)了 MVC這種先進(jìn)的編程理念。進(jìn)一步,采用本發(fā)明所述技術(shù)方案后,當(dāng)用戶對(duì)菜單的顯示風(fēng)格有了不同 的要求的時(shí)候,程序員僅需要在應(yīng)用程序中把原來(lái)所調(diào)用的解析程序換成新的 解析程序,然后將重新編譯鏈接得到的新的可執(zhí)行文件再次導(dǎo)入到手機(jī)上,即 可得到不同的菜單顯示。
圖1為本發(fā)明所述實(shí)現(xiàn)手機(jī)菜單動(dòng)態(tài)配置的原理圖; 圖2為本發(fā)明所述實(shí)現(xiàn)手機(jī)菜單動(dòng)態(tài)配置的流程圖。
具體實(shí)施方式
本發(fā)明技術(shù)方案的主要技術(shù)構(gòu)思是將手機(jī)菜單的顯示參數(shù)全部放在菜單 數(shù)據(jù)配置文件中,使得程序員僅通過(guò)修改菜單數(shù)據(jù)配置文件,不需要修改其他 任何程序就可以方便的對(duì)菜單的內(nèi)容進(jìn)行調(diào)整,以向用戶顯示不同的菜單名稱 及菜單結(jié)構(gòu);同時(shí)本發(fā)明中應(yīng)用程序能夠根據(jù)用戶的菜單顯示要求調(diào)用不同的 解析程序解析同一個(gè)菜單數(shù)據(jù)配置文件,以向用戶顯示出不同的風(fēng)格的手機(jī)菜單。下面結(jié)合各個(gè)附圖對(duì)本發(fā)明的具體實(shí)現(xiàn)過(guò)程做進(jìn)一 步詳細(xì)的說(shuō)明。請(qǐng)參閱圖1及圖2,圖1為本發(fā)明所述實(shí)現(xiàn)手機(jī)菜單動(dòng)態(tài)配置的原理圖, 圖2為本發(fā)明所述實(shí)現(xiàn)手機(jī)菜單動(dòng)態(tài)配置的流程圖,由圖l及圖2可見(jiàn),本發(fā) 明實(shí)現(xiàn)手機(jī)菜單動(dòng)態(tài)配置的具體過(guò)程如下步驟10、將手機(jī)菜單的數(shù)據(jù)按照樹(shù)形結(jié)構(gòu)寫(xiě)入.xml (可擴(kuò)展標(biāo)識(shí)語(yǔ)言)格 式的菜單數(shù)據(jù)配置文件中,該菜單數(shù)據(jù)配置文件存儲(chǔ)于PC機(jī)中;以如下菜單為例開(kāi)機(jī)后用戶界面^設(shè)置、通訊錄、游戲、其他功能;設(shè)置一顯示設(shè)置、時(shí)間設(shè)置、聲音設(shè)置、上網(wǎng)設(shè)置;通ifl錄一打電i舌、發(fā)短信;游戲一貪吃蛇、俄羅斯方塊、推箱子;其他功能一記事本;顯示設(shè)置一屏幕背景、屏幕保護(hù);時(shí)間"^殳置一當(dāng)前時(shí)間和日期、鬧鐘;聲音設(shè)置一音量大小控制、電話呼叫音樂(lè)選擇、收到短信音樂(lè)選擇、鍵盤(pán)點(diǎn)擊聲音選擇。經(jīng)分析可見(jiàn),上述手機(jī)菜單的數(shù)據(jù)結(jié)構(gòu)很明顯的成"樹(shù)"形,而在.xml文件 內(nèi)部,數(shù)據(jù)之間的結(jié)構(gòu)恰恰是樹(shù)形的(xml是SGML的子集,符合標(biāo)記語(yǔ)言的 規(guī)范),所以采用.xml文件來(lái)記錄某款手機(jī)的所有菜單就能從全局上把握整個(gè) "菜單樹(shù)";或者說(shuō)程序員只要看到了這個(gè).xml格式的菜單數(shù)據(jù)配置文件的內(nèi) 容,就知道了該款手機(jī)上所有的菜單及菜單之間的層次結(jié)構(gòu)。步驟11、編寫(xiě)與各種菜單顯示風(fēng)格一一對(duì)應(yīng)的手機(jī)菜單解析程序,形成解 析程序庫(kù),存儲(chǔ)于計(jì)算機(jī)中。該解析程序必須具備通用性,即當(dāng).xml格式的菜 單數(shù)據(jù)配置文件中的菜單內(nèi)容、菜單位置等發(fā)生變化時(shí)解析程序仍然能夠解 析。編寫(xiě)菜單解析程序可以通過(guò)各種計(jì)算機(jī)語(yǔ)言,軟件開(kāi)發(fā)人員均可以實(shí)現(xiàn), 此處無(wú)需贅述。由于用戶可能會(huì)有多種菜單顯示要求,如全屏顯示菜單、滾動(dòng)式顯示菜單、 折疊+滾動(dòng)式顯示菜單等,因此為了滿足用戶的不同需求,需要編寫(xiě)多個(gè)解析 程序, 一個(gè)解析程序?qū)?yīng)一種顯示風(fēng)格,并形成解析程序庫(kù),隨時(shí)聽(tīng)候調(diào)用。庫(kù)中調(diào)用相應(yīng)的手機(jī)菜單解析程序。步驟13、解析程序解析.xml格式的菜單數(shù)據(jù)配置文件,解析完成后向主應(yīng) 用程序返回一個(gè)臨時(shí)的.c文件或者一段.c代碼,這些代碼在主應(yīng)用程序中起著 顯示代碼的作用。步驟14、在主應(yīng)用程序中將返回的顯示代碼和其他程序一起編譯、鏈接, 形成可執(zhí)行的二進(jìn)制文件。步驟15、將所述可執(zhí)行的二進(jìn)制文件導(dǎo)入手機(jī),運(yùn)行該二進(jìn)制文件,將手 機(jī)菜單的名稱、圖形圖像按照.xml格式的菜單數(shù)據(jù)配置文件中菜單的相對(duì)位置 顯示到手機(jī)屏幕上,然后再為每個(gè)菜單附加上其相對(duì)應(yīng)的點(diǎn)擊功能。綜上所述,由于本發(fā)明中解析程序具備通用性,因此當(dāng).xml格式的菜單數(shù) 據(jù)配置文件的菜單內(nèi)容發(fā)生變化時(shí),解析程序仍然能夠解析變化后的格式的菜單數(shù)據(jù)配置文件。這樣一來(lái),當(dāng)用戶的需求發(fā)生改變時(shí)程序員只需要靈活的修 改菜單數(shù)據(jù)配置文件就可以了 ,不必改動(dòng)主應(yīng)用程序。進(jìn)一步,當(dāng)用戶對(duì)菜單的顯示風(fēng)格有了不同的要求的時(shí)候,程序員僅需要在主應(yīng)用程序中把原來(lái)所調(diào)用的解析程序換成新的解析程序就可以,例如如 果要將全屏顯示菜單改為滾動(dòng)式菜單,則程序員只需要把應(yīng)用程序里原來(lái)調(diào)用 "全屏顯示菜單解析程序"改成調(diào)用"滾動(dòng)式菜單的解析程序",然后將重新編譯 鏈接得到的新的可執(zhí)行文件再次導(dǎo)入到手機(jī)上,即可得到不同的菜單顯示。明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1、一種實(shí)現(xiàn)手機(jī)菜單動(dòng)態(tài)配置的方法,其特征在于,包括步驟A、主應(yīng)用程序按照用戶對(duì)手機(jī)菜單的顯示要求在解析程序庫(kù)中調(diào)用相應(yīng)的手機(jī)菜單解析程序;B、解析程序解析菜單數(shù)據(jù)配置文件,解析完成后向主應(yīng)用程序返回顯示代碼;C、對(duì)返回的顯示代碼進(jìn)行編譯、鏈接,形成可執(zhí)行的二進(jìn)制文件;D、所述手機(jī)讀取所述可執(zhí)行的二進(jìn)制文件并運(yùn)行后顯示相應(yīng)的手機(jī)菜單。
2、 如權(quán)利要求1所述的方法,其特征在于,所述菜單數(shù)據(jù)配置文件為可 擴(kuò)展標(biāo)識(shí)語(yǔ)言格式的配置文件。
3、 如權(quán)利要求l所述的方法,其特征在于,所述步驟A前還包括編寫(xiě)與 各種菜單顯示風(fēng)格——對(duì)應(yīng)的手機(jī)菜單解析程序,形成解析程序庫(kù)的步驟。
4、 如權(quán)利要求l所述的方法,其特征在于,所述步驟D中,運(yùn)行所述二 進(jìn)制文件將菜單的名稱、圖形圖像按照菜單數(shù)據(jù)配置文件中菜單的相對(duì)位置顯 示到手機(jī)屏幕上,然后再為每個(gè)菜單附加上其相對(duì)應(yīng)的點(diǎn)擊功能。
5、 如權(quán)利要求l所述的方法,其特征在于,所述顯示代碼為C語(yǔ)言文件 或C語(yǔ)言代碼。
6、 如權(quán)利要求1至5中任意一項(xiàng)所述的方法,其特征在于,所述菜單數(shù) 據(jù)配置文件中的數(shù)據(jù)結(jié)構(gòu)為樹(shù)形結(jié)構(gòu)。
全文摘要
本發(fā)明公開(kāi)了一種實(shí)現(xiàn)手機(jī)菜單動(dòng)態(tài)配置的方法,包括步驟主應(yīng)用程序按照用戶對(duì)手機(jī)菜單的顯示要求在解析程序庫(kù)中調(diào)用相應(yīng)的手機(jī)菜單解析程序,解析程序解析菜單數(shù)據(jù)配置文件,解析完成后向主應(yīng)用程序返回顯示代碼,對(duì)返回的顯示代碼進(jìn)行編譯、鏈接,形成可執(zhí)行的二進(jìn)制文件,所述手機(jī)讀取所述可執(zhí)行的二進(jìn)制文件并運(yùn)行后顯示相應(yīng)的手機(jī)菜單。本發(fā)明使得手機(jī)菜單顯示界面能夠被方便靈活的修改。
文檔編號(hào)G06F9/445GK101226479SQ200810007129
公開(kāi)日2008年7月23日 申請(qǐng)日期2008年2月1日 優(yōu)先權(quán)日2008年2月1日
發(fā)明者睿 丁, 浩 楊, 淺 聶 申請(qǐng)人:中興通訊股份有限公司