CN101699396A - 一种无线终端菜单的生成方法及其装置 - Google Patents
一种无线终端菜单的生成方法及其装置 Download PDFInfo
- Publication number
- CN101699396A CN101699396A CN200910193288A CN200910193288A CN101699396A CN 101699396 A CN101699396 A CN 101699396A CN 200910193288 A CN200910193288 A CN 200910193288A CN 200910193288 A CN200910193288 A CN 200910193288A CN 101699396 A CN101699396 A CN 101699396A
- Authority
- CN
- China
- Prior art keywords
- menu
- file
- function
- interface
- wireless terminal
- 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
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及无线终端技术领域,提供了一种无线终端菜单的生成方法及其装置。所述的生成方法主要包括步骤:在PC菜单工具中编辑菜单表,按菜单工具的数据内容编辑菜单表,并保存该菜单表数据内容,生成菜单文件;在无线终端中导入所述的菜单文件,通过菜单接口函数调用菜单的解析处理流程,将菜单文件解析成终端菜单表,显示菜单结构给用户并执行相应的操作配置。本发明提供的一种无线终端菜单的生成方法及其装置,采用统一的菜单工具生成菜单表,可动态配置菜单文件,不需重复地进行源码修改,提高效率,节约开发成本;且生成的菜单文件只需要占用少量的代码空间,节约存储空间和内存空间。
Description
技术领域
本发明涉及无线终端技术领域,尤其涉及一种无线终端菜单的生成方法及其装置。
背景技术
无线终端(如手机)通常都是通过菜单来实现人机交互功能,为用户提供了多种功能选项。几乎任何一个终端都会有一些相对固定的菜单,如电话本、短信、通话记录、设置等,而一个新的需求可能会在这些菜单的基础上增加或减少或根据不同的条件隐藏菜单。开发人员根据不同的需求在手机平台上来编写菜单的应用程序,一般是将菜单名称、执行函数的地址等菜单信息直接写入到程序中。这种以手工添加方式生成的菜单,随着用户需求的变换需要不断进行修改,导致开发人员花费大量的时间修改代码,增大不必要的开发成本。而对菜单管理涉及到多个方面,例如权限管理(密码验证)、快捷操作、菜单显示风格、菜单隐藏、退出等级(子结点执行操作后的返回位置)等,如此众多的功能,如果每一级菜单都通过手工增加,除了浪费时间和影响效率外,还增加了出错的风险,同时增加了代码空间和维护的难度。因为往往新增加的一个菜单所需要执行的事件并不是都可以预设的,如新增一个菜单用于设置某个专用平台的特服号,因为此功能在之前是完全不可预知的。
专利号为“CN20081005230.1”的发明专利公开了一种实现菜单动态配置的系统及方法,先通过标记语言文件记录菜单信息,开机后初始化解析标记语言文件显示菜单给用户,同时为用户提供修改界面来满足大部分用户需求,实现动态地个性菜单配置。但是这种方法是通过XML文件具有树形数据结构的特点作为菜单配置文件来实现可配置的,通过动态修改XML配置文件来实现菜单的动态配置,将应用程序中Model和View的代码分离,将手机菜单的显示参数(即代码的Model部分)放在XML文件中,开发人员在编写或修改Model显示参数时同样是对代码源进行修改,易于出错,而且每次对一个树形文件修改形成一个树形菜单文件。另外,该发明由于要支持终端用户修改,需要规划大量储存空间,不适合菜单较多的情况。
发明内容
针对以上不足,本发明的目的在于提供一种无线终端菜单的生成方法及其装置,可动态配置菜单文件,使用统一的菜单工具配置相关菜单信息并生成菜单文件,开发人员只要简单地操作菜单工具,配置相关菜单信息即可,不需重复地进行源码修改,降低出错几率,提高效率,节约开发成本;且生成的菜单文件只需要占用少量的代码空间,节约存储空间和内存空间。
本发明提供一种无线终端菜单的生成方法的主要步骤是:在PC菜单工具中编辑菜单表,按菜单工具的数据内容编辑菜单表,并保存该菜单表数据内容,生成菜单文件;在无线终端中导入所述的菜单文件,通过菜单接口函数调用菜单的解析处理流程,将菜单文件解析成终端菜单表,显示菜单结构给用户并执行相应的操作配置。
该方法的具体操作步骤是:
步骤101:在PC机的菜单工具上编辑菜单表数据内容,对于已有的菜单文件,将其直接导入至菜单工具中修改参数;
步骤102:保存菜单工具的菜单表数据内容,生成菜单文件;
步骤103:在菜单处理文件中导入该菜单文件;
步骤104:调用统一的菜单接口函数,并为菜单接口函数提供统一的入参;
步骤105:菜单接口函数根据入参解析菜单表,显示菜单结构执行相应操作。
进一步的,所述菜单接口函数的入参是菜单表首地址。所述的菜单接口函数包括菜单显示接口函数、快捷方式显示接口函数和设置菜单是否隐藏接口函数。
进一步的,所述步骤105中的菜单文件的解析处理流程是:
步骤201:调用解析模块;
步骤202:初始化菜单显示参数;
步骤203:显示菜单;
步骤204:处理菜单按键,如果是左键或者右键则进入步骤205,否则进入步骤203;
步骤205:如果是退出键则进入步骤206,否则进入步骤208;
步骤206:判断当前是否为第1级菜单,若是则进入步骤214,否则进入步骤207;
步骤207:进入上一级菜单,进入步骤203;
步骤208:根据密码类型提示输入密码,进入步骤209;
步骤209:判断输入的密码是否正确,若正确则进入步骤210,否则进入步骤203;
步骤210:判断当前节点是否为叶子结点,如是则进入步骤212,否则进入步骤211;
步骤211:进入下一级菜单,进入步骤203;
步骤212:执行菜单配置的回调函数,进入步骤213;
步骤213:判断执行回调函数后是否退出,若是则进入步骤214,否则进入步骤203;
步骤214:结束。
进一步的,所述菜单工具按终端的通用菜单结构定义参数,其数据内容包括代码信息、代码属性和执行函数信息,其中代码信息包括父节点ID、菜单名称、图标及标题,代码属性包括菜单类型和权限类型,执行函数信息包括子节点回调函数和执行叶子结点回调函数后的动作。其中,父节点ID用于建立菜单列表,菜单名称用于显示菜单名称,图标用于显示主菜单风格下的图标显示,标题用于显示非主菜单风格下的标题信息,菜单类型可分为主菜单风格、单选菜单、多选菜单和普通菜单,权限类型可分为无需验证、话机密码、管理密码和超级密码,执行叶子结点的回调函数后的动作分为停留至原菜单、返回前一级和退出整个菜单,叶子结点回调函数用于执行叶子结点的操作。
进一步的,所述菜单工具生成的菜单文件内的参数定义为静态常量,即只会占用代码空间,而不占用内存空间和NV空间。
本发明还提供了一种无线终端菜单的生成装置,包括:
一菜单工具模块,用于编辑和生成菜单文件;
一接口模块,用于为解析模块提供统一的函数接口;
一解析模块,用于解析菜单工具模块生成的菜单文件,显示相应的菜单并执行相应的操作配置。
进一步的,其中所述的接口模块包括菜单显示接口、快捷方式显示菜单接口和设置菜单是否隐藏接口。各个接口模块都是通过函数的形式实现的,并将菜单表的首地址作为统一入参。菜单显示接口是通过函数的形式,只需传入菜单表的首地址即可调用显示菜单接口;快捷方式显示菜单接口是通过函数的形式,只需传入菜单表的首地址以及要快捷进入的菜单名称即可快捷进入相应的菜单;设置菜单是否隐藏接口通过函数的形式,只需传入菜单名称及是否隐藏,即可完成该菜单的显示或隐藏。
本发明提供的一种无线终端菜单的生成方法及其装置,采用统一的菜单工具生成菜单表,在终端需要显示菜单的时候,通过调用解析模块,解析传入的菜单文件并显示菜单,各种操作的执行则是根据菜单工具中的配置的菜单表信息。具有以下优点:
(1)使用统一的图形化菜单工具,操作简单易懂,不需要重复开发类似的源码;
(2)采用接口模块解析菜单进行统一处理,减少代码量,避免出现重复BUG的可能性,简化菜单开发;
(3)生成的菜单表不占用存储空间和内存空间,只需要少量的代码空间;
(4)支持多种菜单参数配置,如显示风格、权限管理、标题、图标、返回类型等;且对菜单个数和深度不做限制。
附图说明
图1是本发明无线终端菜单的生成方法的操作流程图;
图2是本发明步骤105中的菜单文件的解析处理流程图;
图3是本发明菜单工具参数的数据内容示意图;
图4是本发明无线终端菜单的生成装置系统结构示意图。
具体实施方式
现结合附图说明和具体实施方式对本发明进一步说明。
本发明提供一种无线终端菜单的生成方法,主要是:在PC菜单工具中编辑菜单表,按菜单工具的数据内容编辑菜单表,并保存该菜单表数据内容,生成菜单文件,将菜单显示、密码校验、操作返回、是否隐藏等菜单功能统一由菜单工具生成菜单文件。在无线终端中导入所述的菜单文件,通过菜单接口函数调用菜单的解析处理流程,将菜单文件解析成终端菜单表,显示菜单结构给用户并执行相应的操作配置。
参阅图1所示,该方法的操作步骤是:
步骤101:在PC机的菜单工具上编辑菜单表数据内容,对于已有的菜单文件,将其直接导入至菜单工具中修改参数;
步骤102:保存菜单工具的菜单表数据内容,生成菜单文件,为.mnu格式文件,用于保存菜单表;
步骤103:在菜单处理文件中导入该菜单文件,如:#include“mainMenu.mnu”;
步骤104:调用统一的菜单接口函数,并为菜单接口函数提供统一的入参;
步骤105:菜单接口函数根据入参解析菜单表,显示菜单结构执行相应操作。
所述菜单接口函数的入参是菜单表首地址。所述的菜单接口函数包括菜单显示接口函数、快捷方式显示接口函数和设置菜单是否隐藏接口函数。
参阅图2所示,所述步骤105中的菜单文件的解析处理流程是:
步骤201:调用解析模块;
步骤202:初始化菜单显示参数;
步骤203:显示菜单;
步骤204:处理菜单按键,如果是左键或者右键则进入步骤205,否则进入步骤203;
步骤205:如果是退出键(如右键为退出键)则进入步骤206,否则进入步骤208;
步骤206:判断当前是否为第1级菜单,若是则进入步骤214,否则进入步骤207;
步骤207:进入上一级菜单,进入步骤203;
步骤208:根据密码类型提示输入密码,进入步骤209;
步骤209:判断输入的密码是否正确,若正确则进入步骤210,否则进入步骤203;
步骤210:判断当前节点是否为叶子结点,如是则进入步骤212,否则进入步骤211;
步骤211:进入下一级菜单,进入步骤203;
步骤212:执行菜单配置的回调函数,进入步骤213;
步骤213:判断执行回调函数后是否退出,若是则进入步骤214,否则进入步骤203;
步骤214:结束。
所述菜单工具按终端的通用菜单结构定义参数。参阅图3所示,其数据内容包括代码信息41、代码属性42和执行函数信息43,其中代码信息41包括父节点ID 411、菜单名称412、图标413及标题414,代码属性42包括菜单类型421、权限类型422和是否隐藏423,执行函数信息43包括子节点回调函数431和执行叶子结点回调函数后的动作432。其中,父节点ID 41用于建立菜单列表,菜单名称412用于显示菜单名称,图标413用于显示主菜单风格下的图标显示,标题414用于显示非主菜单风格下的标题信息,菜单类型421可分为主菜单风格、单选菜单、多选菜单和普通菜单,权限类型422可分为无需验证、话机密码、管理密码和超级密码,执行叶子结点的回调函数后的动作432分为停留至原菜单、返回前一级和退出整个菜单,叶子结点回调函数431用于执行叶子结点的操作。
所述菜单工具生成的菜单文件内的参数定义为静态常量,只占用代码空间,除了是否隐藏423需存储于内存,其他菜单属性无需占用终端的存储空间和内存空间。
本发明还提供了一种无线终端菜单的生成装置,参阅图4所示,包括
一菜单工具模块10,用于编辑和生成菜单文件12,利用统一的菜单工具11生成菜单文件12,该菜单文件12为.mnu格式;
一接口模块20,用于为解析模块30提供统一的函数接口,在菜单处理文件21中导入菜单文件12,将菜单表首地址作为统一的入参22,通过入参22调用解析模块30;
一解析模块30,用于解析菜单工具模块10生成的菜单文件12,通过菜单文件解析31及相关按键处理33解析菜单表结构,通过菜单显示执行32显示相应的菜单并执行相应的操作配置。
其中所述的接口模块20包括菜单显示接口、快捷方式显示菜单接口和设置菜单是否隐藏接口。各个接口模块都是通过函数的形式实现的,并将菜单表的首地址作为统一入参。菜单显示接口是通过函数的形式,只需传入菜单表的首地址即可调用显示菜单接口;快捷方式显示菜单接口是通过函数的形式,只需传入菜单表的首地址以及要快捷进入的菜单名称即可快捷进入相应的菜单;设置菜单是否隐藏接口通过函数的形式,只需传入菜单名称及是否隐藏,即可完成该菜单的显示或隐藏。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种无线终端菜单的生成方法,其特征在于:该方法包括以下步骤
步骤101:在PC机的菜单工具上编辑菜单表数据内容,对于已有的菜单文件,将其直接导入至菜单工具中修改参数;
步骤102:保存菜单工具的菜单表数据内容,生成菜单文件;
步骤103:在菜单处理文件中导入该菜单文件;
步骤104:调用菜单接口函数,并为菜单接口函数提供统一的入参;
步骤105:菜单接口函数根据入参解析菜单表,显示菜单结构执行相应操作。
2.根据权利要求1所述的无线终端菜单的生成方法,其特征在于:所述菜单接口函数的入参是菜单表首地址。
3.根据权利要求1所述的无线终端菜单的生成方法,其特征在于:所述步骤105中的菜单文件的解析处理流程进一步是:
步骤201:调用解析模块;
步骤202:初始化菜单显示参数;
步骤203:显示菜单;
步骤204:处理菜单按键,如果是左键或者右键则进入步骤205,否则进入步骤203;
步骤205:如果是退出键则进入步骤206,否则进入步骤208;
步骤206:判断当前是否为第1级菜单,若是则进入步骤214,否则进入步骤207;
步骤207:进入上一级菜单,进入步骤203;
步骤208:根据密码类型提示输入密码,进入步骤209;
步骤209:判断输入的密码是否正确,若正确则进入步骤210,否则进入步骤203;
步骤210:判断当前节点是否为叶子结点,如是则进入步骤212,否则进入步骤211;
步骤211:进入下一级菜单,进入步骤203;
步骤212:执行菜单配置的回调函数,进入步骤213;
步骤213:判断执行回调函数后是否退出,若是则进入步骤214,否则进入步骤203;
步骤214:结束。
4.根据权利要求1所述的无线终端菜单的生成方法,其特征在于:所述菜单工具按终端的通用菜单结构定义参数,其数据内容包括代码信息、代码属性和执行函数信息,其中代码信息包括父节点ID、菜单名称、图标及标题,代码属性包括菜单类型和权限类型,执行函数信息包括子节点回调函数和执行叶子结点回调函数后的动作。
5.根据权利要求1所述的无线终端菜单的生成方法,其特征在于:所述菜单文件的参数定义为静态常量。
6.根据权利要求1或2所述的无线终端菜单的生成方法,其特征在于:所述的菜单接口函数包括菜单显示接口函数、快捷方式显示菜单接口函数和设置菜单是否隐藏接口函数。
7.一种无线终端菜单的生成装置,其特征在于:包括
一菜单工具模块(10),用于编辑和生成菜单文件;
一接口模块(20),用于为解析模块(30)提供统一的函数接口;
一解析模块(30),用于解析菜单工具模块(10)生成的菜单文件,显示相应的菜单并执行相应的操作配置。
8.根据权利要求6所述的无线终端菜单的生成装置,其特征在于:所述的接口模块(20)包括菜单显示接口、快捷方式显示菜单接口和设置菜单是否隐藏接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910193288A CN101699396A (zh) | 2009-10-21 | 2009-10-21 | 一种无线终端菜单的生成方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910193288A CN101699396A (zh) | 2009-10-21 | 2009-10-21 | 一种无线终端菜单的生成方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101699396A true CN101699396A (zh) | 2010-04-28 |
Family
ID=42147856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910193288A Pending CN101699396A (zh) | 2009-10-21 | 2009-10-21 | 一种无线终端菜单的生成方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101699396A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938642A (zh) * | 2010-09-09 | 2011-01-05 | 北京中星微电子有限公司 | 一种菜单信息显示的方法和移动终端 |
CN102541517A (zh) * | 2010-12-13 | 2012-07-04 | 金蝶软件(中国)有限公司 | 一种权限配置方法、装置及系统 |
CN103309662A (zh) * | 2013-05-31 | 2013-09-18 | 福建鑫诺通讯技术有限公司 | 一种在嵌入式设备上生成多级菜单的方法 |
CN103425480A (zh) * | 2012-05-17 | 2013-12-04 | 索尼公司 | 菜单的配置和管理 |
US9319508B2 (en) | 2010-05-14 | 2016-04-19 | Huawei Device Co., Ltd. | Method and device for adding menu item to android menu |
CN106598402A (zh) * | 2016-12-15 | 2017-04-26 | 重庆兆洲科技发展有限公司 | 一种用于单片机系统的菜单生成方法 |
CN106648335A (zh) * | 2016-12-27 | 2017-05-10 | 天脉聚源(北京)科技有限公司 | 一种二级联动菜单的创建方法及装置 |
CN109800038A (zh) * | 2017-11-16 | 2019-05-24 | 北京握奇智能科技有限公司 | 一种stk菜单的实现方法、装置 |
-
2009
- 2009-10-21 CN CN200910193288A patent/CN101699396A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9319508B2 (en) | 2010-05-14 | 2016-04-19 | Huawei Device Co., Ltd. | Method and device for adding menu item to android menu |
US9703454B2 (en) | 2010-05-14 | 2017-07-11 | Huawei Device Co., Ltd. | Method and device for adding menu item to ANDROID menu |
CN101938642A (zh) * | 2010-09-09 | 2011-01-05 | 北京中星微电子有限公司 | 一种菜单信息显示的方法和移动终端 |
CN101938642B (zh) * | 2010-09-09 | 2015-09-02 | 北京中星微电子有限公司 | 一种菜单信息显示的方法和移动终端 |
CN102541517A (zh) * | 2010-12-13 | 2012-07-04 | 金蝶软件(中国)有限公司 | 一种权限配置方法、装置及系统 |
CN103425480A (zh) * | 2012-05-17 | 2013-12-04 | 索尼公司 | 菜单的配置和管理 |
US10216492B2 (en) | 2012-05-17 | 2019-02-26 | Sony Interactive Entertainment LLC | Configuration and management of menus |
CN103309662A (zh) * | 2013-05-31 | 2013-09-18 | 福建鑫诺通讯技术有限公司 | 一种在嵌入式设备上生成多级菜单的方法 |
CN106598402A (zh) * | 2016-12-15 | 2017-04-26 | 重庆兆洲科技发展有限公司 | 一种用于单片机系统的菜单生成方法 |
CN106648335A (zh) * | 2016-12-27 | 2017-05-10 | 天脉聚源(北京)科技有限公司 | 一种二级联动菜单的创建方法及装置 |
CN109800038A (zh) * | 2017-11-16 | 2019-05-24 | 北京握奇智能科技有限公司 | 一种stk菜单的实现方法、装置 |
CN109800038B (zh) * | 2017-11-16 | 2024-03-29 | 北京握奇智能科技有限公司 | 一种stk菜单的实现方法、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101699396A (zh) | 一种无线终端菜单的生成方法及其装置 | |
Gray et al. | Domain-Specific Modeling. | |
EP2570917B1 (en) | Method and device for adding menu items in android menu | |
CN105487864A (zh) | 代码自动生成的方法和装置 | |
CN106293664A (zh) | 代码生成方法及装置 | |
CN101923434B (zh) | 一种应用图标的排版方法、系统移动终端 | |
CN104750472B (zh) | 一种终端应用的资源包管理方法和装置 | |
CN111068328A (zh) | 游戏广告配置表格的生成方法、终端设备及介质 | |
CN107330014B (zh) | 一种数据表的创建方法与设备 | |
CN111399840A (zh) | 一种模块开发方法及装置 | |
CN105242931A (zh) | 对游戏界面编辑并生成代码的方法及系统 | |
US8732655B2 (en) | Systems and methods for metamodel transformation | |
CN104834715A (zh) | 一种基于部件和容器的网站生成方法及系统 | |
CN106484514A (zh) | 一种多开应用的操作管理方法、装置及智能终端 | |
CN108415743A (zh) | 终端应用管理方法、终端及服务器 | |
CN112235132A (zh) | 动态配置服务的方法、装置、介质以及服务器 | |
Schuler et al. | Rule-based generation of mobile user interfaces | |
CN102163149A (zh) | Java-CAT可视化开发系统及方法 | |
CN114840194A (zh) | 代码及操作系统的生成方法和装置、服务器及电子设备 | |
CN104615539A (zh) | 一种测试参数的处理方法和系统 | |
CN112632113B (zh) | 一种算子管理方法和算子管理系统 | |
CN103186388B (zh) | 软件安装方法及装置 | |
CN101169715A (zh) | 一种控件添加方法 | |
CN104199675A (zh) | 一种基于数据库参数利用的系统快速开发的系统 | |
CN103631588A (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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20100428 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |