CN101226479A - 一种实现手机菜单动态配置的方法 - Google Patents
一种实现手机菜单动态配置的方法 Download PDFInfo
- Publication number
- CN101226479A CN101226479A CNA200810007129XA CN200810007129A CN101226479A CN 101226479 A CN101226479 A CN 101226479A CN A200810007129X A CNA200810007129X A CN A200810007129XA CN 200810007129 A CN200810007129 A CN 200810007129A CN 101226479 A CN101226479 A CN 101226479A
- Authority
- CN
- China
- Prior art keywords
- menu
- mobile phone
- analysis program
- configuration file
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Telephone Function (AREA)
Abstract
本发明公开了一种实现手机菜单动态配置的方法,包括步骤:主应用程序按照用户对手机菜单的显示要求在解析程序库中调用相应的手机菜单解析程序,解析程序解析菜单数据配置文件,解析完成后向主应用程序返回显示代码,对返回的显示代码进行编译、链接,形成可执行的二进制文件,所述手机读取所述可执行的二进制文件并运行后显示相应的手机菜单。本发明使得手机菜单显示界面能够被方便灵活的修改。
Description
技术领域
本发明涉及嵌入式软件开发领域,尤其涉及一种实现手机菜单动态配置的方法。
背景技术
在编写手机菜单的应用程序时,一般的做法是将菜单的名称、功能函数的地址(用C语言编写手机程序是用函数的地址,用C++或JAVA则是某个类的某个方法)等直接写入应用程序里。但是,如果用户的需求不断变化,例如:菜单名称的改动、菜单之间相对位置的变化、菜单在LCD上所显示的图形图像的变换等,这些都会导致程序员花费大量的时间去修改代码。
而且从MVC(Model-View-Control,数据模型-视图-控制,其中数据模型是内容,视图是显示效果,控制是如何管理数据、如何将数据显示出来的方法)的角度来分析,上述做法把Model(处理数据和完成某种特定功能)的代码和View(显示给用户看)的代码混淆在一起,维护起来很容易出错,往往是修改了一处,其他地方又出现bug(程序缺陷);也有可能在修改过之后应用程序隐藏了某个现在很难发现的bug;或者干脆就很难修改。这些都是因为Control(控制)没有做好。
发明内容
本发明提供一种实现手机菜单动态配置的方法,使得手机菜单显示界面能够被方便灵活的修改。
本发明所述技术方案如下:
一种实现手机菜单动态配置的方法,包括步骤:
A、主应用程序按照用户对手机菜单的显示要求在解析程序库中调用相应的手机菜单解析程序;
B、解析程序解析菜单数据配置文件,解析完成后向主应用程序返回显示代码;
C、对返回的显示代码进行编译、链接,形成可执行的二进制文件;
D、所述手机读取所述可执行的二进制文件并运行后显示相应的手机菜单。
所述菜单数据配置文件为可扩展标识语言格式的配置文件。
所述步骤A前还包括编写与各种菜单显示风格一一对应的手机菜单解析程序,形成解析程序库的步骤。
所述步骤D中,运行所述二进制文件将菜单的名称、图形图像按照菜单数据配置文件中菜单的相对位置显示到手机屏幕上,然后再为每个菜单附加上其相对应的点击功能。
所述显示代码为C语言文件或C语言代码。
所述菜单数据配置文件中的数据结构为树形结构。
由于本发明采用了以上技术方案,因此具有以下有益效果:
本发明所述技术方案中将手机菜单的显示参数全部放在菜单数据配置文件中,应用程序中Model和View的代码分离,程序一目了然、简洁明晰。程序员在编写或修改Model(处理数据和完成某种特定功能)时与View(显示给用户看)无关,当用户的需求发生改变时程序员只需要灵活的修改菜单数据配置文件就可以,不必改动主应用程序,使得程序员可以方便的对程序进行维护,集中体现了MVC这种先进的编程理念。
进一步,采用本发明所述技术方案后,当用户对菜单的显示风格有了不同的要求的时候,程序员仅需要在应用程序中把原来所调用的解析程序换成新的解析程序,然后将重新编译链接得到的新的可执行文件再次导入到手机上,即可得到不同的菜单显示。
附图说明
图1为本发明所述实现手机菜单动态配置的原理图;
图2为本发明所述实现手机菜单动态配置的流程图。
具体实施方式
本发明技术方案的主要技术构思是将手机菜单的显示参数全部放在菜单数据配置文件中,使得程序员仅通过修改菜单数据配置文件,不需要修改其他任何程序就可以方便的对菜单的内容进行调整,以向用户显示不同的菜单名称及菜单结构;同时本发明中应用程序能够根据用户的菜单显示要求调用不同的解析程序解析同一个菜单数据配置文件,以向用户显示出不同的风格的手机菜单。
下面结合各个附图对本发明的具体实现过程做进一步详细的说明。
请参阅图1及图2,图1为本发明所述实现手机菜单动态配置的原理图,图2为本发明所述实现手机菜单动态配置的流程图,由图1及图2可见,本发明实现手机菜单动态配置的具体过程如下:
步骤10、将手机菜单的数据按照树形结构写入.xml(可扩展标识语言)格式的菜单数据配置文件中,该菜单数据配置文件存储于PC机中;
以如下菜单为例:
开机后用户界面-设置、通讯录、游戏、其他功能;
设置-显示设置、时间设置、声音设置、上网设置;
通讯录-打电话、发短信;
游戏-贪吃蛇、俄罗斯方块、推箱子;
其他功能-记事本;
显示设置-屏幕背景、屏幕保护;
时间设置-当前时间和日期、闹钟;
声音设置-音量大小控制、电话呼叫音乐选择、收到短信音乐选择、键盘点击声音选择。
经分析可见,上述手机菜单的数据结构很明显的成“树”形,而在.xml文件内部,数据之间的结构恰恰是树形的(xml是SGML的子集,符合标记语言的规范),所以采用.xml文件来记录某款手机的所有菜单就能从全局上把握整个“菜单树”;或者说程序员只要看到了这个.xml格式的菜单数据配置文件的内容,就知道了该款手机上所有的菜单及菜单之间的层次结构。
步骤11、编写与各种菜单显示风格一一对应的手机菜单解析程序,形成解析程序库,存储于计算机中。该解析程序必须具备通用性,即当.xml格式的菜单数据配置文件中的菜单内容、菜单位置等发生变化时解析程序仍然能够解析。编写菜单解析程序可以通过各种计算机语言,软件开发人员均可以实现,此处无需赘述。
由于用户可能会有多种菜单显示要求,如全屏显示菜单、滚动式显示菜单、折叠+滚动式显示菜单等,因此为了满足用户的不同需求,需要编写多个解析程序,一个解析程序对应一种显示风格,并形成解析程序库,随时听候调用。
步骤12、计算机的主应用程序按照用户对手机菜单的显示要求在解析程序库中调用相应的手机菜单解析程序。
步骤13、解析程序解析.xml格式的菜单数据配置文件,解析完成后向主应用程序返回一个临时的.c文件或者一段.c代码,这些代码在主应用程序中起着显示代码的作用。
步骤14、在主应用程序中将返回的显示代码和其他程序一起编译、链接,形成可执行的二进制文件。
步骤15、将所述可执行的二进制文件导入手机,运行该二进制文件,将手机菜单的名称、图形图像按照.xml格式的菜单数据配置文件中菜单的相对位置显示到手机屏幕上,然后再为每个菜单附加上其相对应的点击功能。
综上所述,由于本发明中解析程序具备通用性,因此当.xml格式的菜单数据配置文件的菜单内容发生变化时,解析程序仍然能够解析变化后的格式的菜单数据配置文件。这样一来,当用户的需求发生改变时程序员只需要灵活的修改菜单数据配置文件就可以了,不必改动主应用程序。
进一步,当用户对菜单的显示风格有了不同的要求的时候,程序员仅需要在主应用程序中把原来所调用的解析程序换成新的解析程序就可以,例如:如果要将全屏显示菜单改为滚动式菜单,则程序员只需要把应用程序里原来调用“全屏显示菜单解析程序”改成调用“滚动式菜单的解析程序”,然后将重新编译链接得到的新的可执行文件再次导入到手机上,即可得到不同的菜单显示。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种实现手机菜单动态配置的方法,其特征在于,包括步骤:
A、主应用程序按照用户对手机菜单的显示要求在解析程序库中调用相应的手机菜单解析程序;
B、解析程序解析菜单数据配置文件,解析完成后向主应用程序返回显示代码;
C、对返回的显示代码进行编译、链接,形成可执行的二进制文件;
D、所述手机读取所述可执行的二进制文件并运行后显示相应的手机菜单。
2.如权利要求1所述的方法,其特征在于,所述菜单数据配置文件为可扩展标识语言格式的配置文件。
3.如权利要求1所述的方法,其特征在于,所述步骤A前还包括编写与各种菜单显示风格一一对应的手机菜单解析程序,形成解析程序库的步骤。
4.如权利要求1所述的方法,其特征在于,所述步骤D中,运行所述二进制文件将菜单的名称、图形图像按照菜单数据配置文件中菜单的相对位置显示到手机屏幕上,然后再为每个菜单附加上其相对应的点击功能。
5.如权利要求1所述的方法,其特征在于,所述显示代码为C语言文件或C语言代码。
6.如权利要求1至5中任意一项所述的方法,其特征在于,所述菜单数据配置文件中的数据结构为树形结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200810007129XA CN101226479A (zh) | 2008-02-01 | 2008-02-01 | 一种实现手机菜单动态配置的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200810007129XA CN101226479A (zh) | 2008-02-01 | 2008-02-01 | 一种实现手机菜单动态配置的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101226479A true CN101226479A (zh) | 2008-07-23 |
Family
ID=39858494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200810007129XA Pending CN101226479A (zh) | 2008-02-01 | 2008-02-01 | 一种实现手机菜单动态配置的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101226479A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882072A (zh) * | 2009-05-05 | 2010-11-10 | 康佳集团股份有限公司 | 一种菜单的定制方法、系统及服务器 |
WO2010148722A1 (zh) * | 2009-12-17 | 2010-12-29 | 中兴通讯股份有限公司 | 一种数据延迟加载方法及装置 |
WO2011035659A1 (zh) * | 2009-09-28 | 2011-03-31 | 中兴通讯股份有限公司 | 功能手机的二次开发方法及装置 |
WO2011160333A1 (zh) * | 2010-06-23 | 2011-12-29 | 中兴通讯股份有限公司 | 在移动终端上控制应用程序显示的方法和移动终端 |
CN103593258A (zh) * | 2013-09-23 | 2014-02-19 | 西安酷派软件科技有限公司 | 界面备份方法、备份信息处理方法、终端及服务器 |
CN107844345A (zh) * | 2016-09-20 | 2018-03-27 | 中兴通讯股份有限公司 | 一种应用菜单的生成方法和装置 |
CN108172284A (zh) * | 2017-12-29 | 2018-06-15 | 上海联影医疗科技有限公司 | 磁共振参数卡界面的调整方法及磁共振参数卡界面 |
CN108279925A (zh) * | 2017-12-13 | 2018-07-13 | 施耐德万高(天津)电气设备有限公司 | 一种用于维护双电源转换程序的菜单动态生成方法 |
CN109117133A (zh) * | 2018-07-04 | 2019-01-01 | 广州视源电子科技股份有限公司 | 菜单的配置方法、装置、电子设备及可读存储介质 |
CN109408103A (zh) * | 2018-09-17 | 2019-03-01 | 西安闻泰电子科技有限公司 | 配置文件的设置方法、装置、设备及介质 |
CN109558137A (zh) * | 2018-11-09 | 2019-04-02 | 深圳市海勤科技有限公司 | 客户订单管理软件配置优化方法 |
CN111142848A (zh) * | 2018-11-05 | 2020-05-12 | 深圳Tcl新技术有限公司 | 一种软件程序编译方法、执行方法及装置 |
CN113656126A (zh) * | 2021-07-30 | 2021-11-16 | 北京数码大方科技股份有限公司 | 信息系统的菜单显示方法及菜单显示装置、电子设备 |
-
2008
- 2008-02-01 CN CNA200810007129XA patent/CN101226479A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882072A (zh) * | 2009-05-05 | 2010-11-10 | 康佳集团股份有限公司 | 一种菜单的定制方法、系统及服务器 |
WO2011035659A1 (zh) * | 2009-09-28 | 2011-03-31 | 中兴通讯股份有限公司 | 功能手机的二次开发方法及装置 |
WO2010148722A1 (zh) * | 2009-12-17 | 2010-12-29 | 中兴通讯股份有限公司 | 一种数据延迟加载方法及装置 |
WO2011160333A1 (zh) * | 2010-06-23 | 2011-12-29 | 中兴通讯股份有限公司 | 在移动终端上控制应用程序显示的方法和移动终端 |
CN103593258A (zh) * | 2013-09-23 | 2014-02-19 | 西安酷派软件科技有限公司 | 界面备份方法、备份信息处理方法、终端及服务器 |
CN107844345A (zh) * | 2016-09-20 | 2018-03-27 | 中兴通讯股份有限公司 | 一种应用菜单的生成方法和装置 |
CN108279925A (zh) * | 2017-12-13 | 2018-07-13 | 施耐德万高(天津)电气设备有限公司 | 一种用于维护双电源转换程序的菜单动态生成方法 |
CN108172284A (zh) * | 2017-12-29 | 2018-06-15 | 上海联影医疗科技有限公司 | 磁共振参数卡界面的调整方法及磁共振参数卡界面 |
CN109117133A (zh) * | 2018-07-04 | 2019-01-01 | 广州视源电子科技股份有限公司 | 菜单的配置方法、装置、电子设备及可读存储介质 |
CN109408103A (zh) * | 2018-09-17 | 2019-03-01 | 西安闻泰电子科技有限公司 | 配置文件的设置方法、装置、设备及介质 |
CN111142848A (zh) * | 2018-11-05 | 2020-05-12 | 深圳Tcl新技术有限公司 | 一种软件程序编译方法、执行方法及装置 |
CN111142848B (zh) * | 2018-11-05 | 2023-09-19 | 深圳Tcl新技术有限公司 | 一种软件程序编译方法、执行方法及装置 |
CN109558137A (zh) * | 2018-11-09 | 2019-04-02 | 深圳市海勤科技有限公司 | 客户订单管理软件配置优化方法 |
CN113656126A (zh) * | 2021-07-30 | 2021-11-16 | 北京数码大方科技股份有限公司 | 信息系统的菜单显示方法及菜单显示装置、电子设备 |
CN113656126B (zh) * | 2021-07-30 | 2023-10-27 | 北京数码大方科技股份有限公司 | 信息系统的菜单显示方法及菜单显示装置、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101226479A (zh) | 一种实现手机菜单动态配置的方法 | |
CN109597814B (zh) | 一种后台管理信息系统的在线快速交付系统 | |
Heitkötter et al. | Cross-platform model-driven development of mobile applications with md2 | |
Guerrero-Garcia et al. | A theoretical survey of user interface description languages: Preliminary results | |
KR101416089B1 (ko) | 웹 어플리케이션 저작을 위한 통합 플랫폼 및 그 저작 방법 | |
CN101222710A (zh) | 一种移动终端上实现菜单动态配置的系统及方法 | |
CN101477463B (zh) | 用于数字电视机顶盒的软件平台与软件开发平台 | |
CN101887370B (zh) | 创建系统用户界面的方法及装置 | |
CN110134378A (zh) | 应用程序创建方法及装置、计算机设备及存储介质 | |
KR20150043333A (ko) | 선언형 템플릿을 사용하여 컨트롤을 스탬프 아웃하기 위한 사용자 인터페이스 컨트롤 프레임워크 | |
CN103927163A (zh) | 插件框架处理装置及插件系统 | |
EP2697715A1 (en) | System and method for mobile application development | |
US10013478B2 (en) | System and method for modular business applications | |
CN113064593B (zh) | 移动app动态化的方法、装置、计算机设备及存储介质 | |
CN105242931A (zh) | 对游戏界面编辑并生成代码的方法及系统 | |
Beuvens et al. | Designing graphical user interfaces integrating gestures | |
US20110072371A1 (en) | Application programming interface for user interface creation | |
CN102693238B (zh) | Widget应用方法、系统及多媒体终端 | |
CN111158797A (zh) | 运行人工智能应用的方法、系统及引擎装置 | |
CN105930166A (zh) | 一种基于web界面弹出层的方法 | |
WO2024066825A1 (zh) | 页面项目开发方法、装置、设备、介质及产品 | |
Aghaee et al. | Live mashup tools: challenges and opportunities | |
CN106126213B (zh) | 一种基于IFML的Android开发建模方法 | |
EP2466461B1 (en) | System and method for modular business applications | |
CN116909553A (zh) | 一种页面在线开发及本地编译运行系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080723 |