专利名称:一种实现动态菜单的方法
技术领域:
本发明涉及一种菜单的实现方法。且特别是有关于一种动态菜单的实现方法。
背景技术:
智能移动设备如智能手机、PDA、掌上电脑(本发明中统称手机)应用程序的GUI中,多使用菜单。菜单一般为按钮式多行菜单或单列列表式菜单,一般是同一层菜单占用同一屏幕,进入子菜单后,子菜单将覆盖父菜单。使用手机键盘中的上下左右键在菜单项间移动,使用确认键等选择菜单,从而选择子菜单或启动程序。
现有系统,菜单一般不是动态生成的,手机屏幕小、内存小,对应用程序的大小往往有限制,当应用程序需要大量的菜单时,由于有应用程序的大小的限制、手机内存的限制,不容易做到在程序中使用大量的菜单。至今所用的菜单选项的使用具有一定程度的不变性,个性化程度低,比如,一旦一个应用软件程序被编好,菜单项就占据一个固定或静态的位置,对于每一个使用者来说,其常用的菜单项往往不一样,一种极端的情况是,使用者经常使用的菜单项位于菜单的末尾,使用者必须历经所有的同级菜单项,导航到最后一个菜单项,才能选用。
发明内容
本发明的目的在于解决手机应用程序中菜单项数目受限制的问题。
本发明的义一个目的在于解决菜单的个性化问题,特别是个性化排序问题。
为实现上述目的,本发明提出一种实现动态菜单的方法,其特征在于1)、菜单信息保存在动态菜单服务器上。
2)、可以对菜单信息进行定制。
3)、手机从动态菜单服务器动态获取菜单信息,或动态菜单服务器向手机推送菜单信息。
4)、手机显示菜单信息。
具体来说,包括动态菜单服务器、互联网主机、手机。
动态菜单服务器,所述的动态菜单服务器可以是网络服务器或应用服务器,其连接有数据库,帮助存储菜单信息。所述的动态菜单服务器内有一程序,其指令系列被配置为使其能接收手机或互联网主机的指令及数据,对菜单信息进行定制;向手机或互联网主机发送全部或部分菜单信息。所述的菜单信息一般包括以下信息菜单项的名称、菜单项ID号信息,菜单组织结构信息;菜单信息还可能包括同级菜单的分段大小,菜单项的序号;菜单信息可以是菜单信息的一部分。
互联网主机,在其上运行一程序,此程序为浏览器或客户端程序,其通过Internet/Intranet与动态菜单服务器互连。互联网主机经过网络,对动态菜单服务器上的菜单信息进行定制。
以上所述的定制包括但不限于1.对菜单信息进行组织,所述的组织的形式包括但不限于以下形式链表、树、森林;组织方式包括但不限于从一种形式组织成另一种形式,把节点从树的一分支上移动到另一分支上,对节点进行增、删、改等维护性操作。2.对同一级的菜单项排序。3.对同一级的菜单项进行分段,所述分段即对在手机屏幕中同一次显示的菜单项数进行设置从而把同一级的菜单分成一到多个菜单段,手机一次显示一段,其特征是,用于指定段中所含菜单项项数的值包括但不限于可以是所有菜单段使用同一大小,还可以按菜单的类型分别设置菜单段的大小,也可以分别设置某一菜单的段的大小。所述的定制可以进行一到多次。
互联网主机的功能,也可以由手机实现。
手机,其提供有编程接口,其中包含一程序,其指令系列被配置成1.可以发送指令到动态菜单服务器,从而要求获取子菜单的信息、父菜单的信息,还可以要求获取上一菜单段的信息、下一菜单段的信息;2.可以接收动态菜单服务器的菜单信息,解释此信息,并在屏幕上显示相应的菜单或菜单段,菜单信息使用后一般要释放掉以便节省内存占用,也可以缓存起来备用而减少网络访问量。所述菜单、菜单段的显示元素包括但不限于列表、按钮、图片。所述菜单、菜单段的排列方式包括但不限于横向单行,横向多行,或纵向单列,纵向多列。
所述的手机、互联网主机通过http、TCP、UDP等协议与所述的动态菜单服务器进行通讯(其中一种典型的情况是若所述的动态菜单服务器为网络服务器,使用http协议;若所述的动态菜单服务器为应用服务器,使用TCP协议建立可靠连接,使用UDP协议建立不可靠连接)。
上述在手机、互联网主机、动态菜单服务器间传递的指令,为含有预定格式的字节码,用于传递功能调用代码及其参数信息,本领域的一般技术人员可以自行设定。
以上所述的父菜单、子菜单为菜单的一种。
本发明通过把菜单信息存放在动态菜单服务器上,通过互联网主机对动态菜单服务器上的菜单信息进行组织、分段、排序;手机从动态菜单服务器上动态获取菜单信息,或动态菜单服务器向手机推送菜单信息。由于菜单信息从动态菜单服务器动态获取,菜单的项数不受限制,由于手机中仅保留少数几个菜单段的信息,可以减少内存占用量。使用此方法,可以充分发挥手机和动态菜单服务器在信息处理时各自的优势,从而可以使手机应用程序包含大量的菜单项,并实现向使用者提供个性化菜单的目的。
图1是本发明网络示意图。
手机(100),其提供有编程接口,在其上包含一程序。所述的手机通过http、TCP、UDP等协议透过移动网络、电信网关(200)与动态菜单服务器(300)进行通讯。响应使用者的操作,发送指令到动态菜单服务器(300)从而获取相应的菜单信息,并进行菜单显示。
互联网主机(600),在其上运行一程序,其通过Internet/Intranet网(500)使用http或TCP、UDP协议与动态菜单服务器(300)相连。使用者通过互联网主机(600),向动态菜单服务器(300)传递多种指令,以对动态菜单服务器上的菜单信息进行定制。
所述的动态菜单服务器(300)可以是网络服务器或应用服务器,其特征是连接一数据库(400),帮助存储菜单项信息、菜单结构信息、排序信息,其内运行一程序,响应手机或互联网主机的指令,对菜单信息进行定制及发送相应的菜单信息。
图2A、图2B、图3A、图3B、图4A、图4B是本发明实施例1示意图,在实施例1中说明。
具体实施例方式
下面通过具体的实施例对本发明作进一步详细的描述。
实施例1、本发明实施例通过应用一种实现动态菜单的方法实现树形组织的、分段的、可重排序的动态菜单。
动态菜单服务器,有一数据库,储存菜单信息,菜单、菜单项被组织成数状结构,每个菜单项都有一Index值,一个ID值、一个ParentID值、一个Count值,其中Index值用于菜单项排序,在同一级的菜单项中具有唯一值;ID值在同一用户的菜单项中具有唯一值,ID、ParentID值用于建立菜单项的树形组织;Count值表示同一层次的菜单一次显示的菜单项数,用于子菜单分段。有一服务器端程序,能响应互联网主机和手机的指令,发送相应的菜单信息,或对动态菜单服务器上的菜单信息作定制。
互联网主机上有一浏览器程序,使用者可以从互联网主机登录动态菜单服务器,互联网主机实现显示动态菜单的树状结构,所述树状结构的同一父节点的所有兄弟节点对应一个菜单,兄弟节点的排列顺序对应于此菜单各个菜单项的按其Index值排序后的次序,并可可视化地修改,当菜单树中兄弟节点的次序改变时,对应地改变菜单项的Index值,可以通过交互其Index值来实现。
手机上有一程序,所述的程序配置成实现如下功能1.能发送指令到动态菜单服务器;2.从动态菜单服务器接收菜单信息,解释菜单信息,并以列表方式显示一菜单;3.当使用者选择某一菜单项时,发送指令到服务器,从而获取子菜单的第一段,显示此子菜单的第一段;4.发送返回父菜单的指令,服务器响应此指令,返回父菜单的菜单信息;5.显示的菜单项数不超过父菜单项的Count值,当菜单项数超过Count值时,还提供软件模拟键用于导航,可以导航到上一段、下一段。当使用者使用导航到下一段的功能时,手机发送要求获取下一段菜单的指令到动态菜单服务器,指令中包括当前菜单的层次,段次等信息,服务器响应指令,提取同一层次、下一段次的菜单段信息以及是否还有下一段的指示信息给手机,手机显示其中的菜单段信息。
下面结合
。
图2A、图2B、图3A、图3B、图4A、图4B是对菜单信息进行一次定制的示意图。
图2A是互联网主机上浏览器的部分截图,为对菜单信息定制前的界面,其中未对菜单进行分段处理。其中显示主菜单3(1000)为一菜单项,其子节点组成一含9个菜单项的子菜单,此次定制包括定制此子菜单的分段值以及对此子菜单的第2、第3项交换顺序。图中兰白反显的节点(2000)是当前节点。图2B是手机屏幕图,为对菜单进行定制前的手机屏幕示意图,显示的是上述的含9个菜单项的子菜单。其中显示菜单项的方式与现有技术显示的方式一致。
图3A、图3B是互联网主机上浏览器的部分截图,为对菜单信息进行定制的界面示意图。图3A中设置主菜单3的属性Count值为7项(3000)。并点击“下”按钮(4000),将节点菜单2(5000)下移一位。图3B是下移后的结果,显示菜单2(6000)已经下移了一位到第三位。
图4A、图4B是定制后的手机屏幕图。图中显示因为已经对上述子菜单进行了分段,子菜单被分成两屏显示。图4A是第一屏,显示的是第一菜单段。图4B是第二屏,显示的是第二菜单段。第一菜单段有7个菜单项,第二菜单段是剩余的2个菜单项。在第一屏的最后一个菜单项后增加了一导航作用的软件模拟键(7000),选中此软件模拟键将发送指令到动态菜单服务器,从而导航到第二屏幕。在第二屏的第一个菜单项前增加了一导航作用的软件模拟键(8000),选中此软件模拟键将发送指令到动态菜单服务器,从而导航到第一屏幕。图中还显示,菜单项菜单2(9000)的顺序已经被改变,被定位在第3位了。
以上2000、5000、6000指示的是同一菜单项。
本发明的上述实施例只用于说明的目的,并非用以限定本发明,本领域的技术人员可以在本发明的范围内做出各种等同的修改,如把父菜单的菜单信息及其层次、段次缓存在手机存储器中当其返回父菜单时,直接从缓存中获取,从而减少网络访问,又如软件模拟键可以用实际的键代替,又如增加服务器集群,服务器采用多层的架构构建,又如把动态菜单服务器的功能集成到电信网关中等,其工作原理类似,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种实现动态菜单的方法,其特征是包括下列步骤1)、菜单信息保存在动态菜单服务器上。2)、可以对菜单信息进行定制。3)、手机从动态菜单服务器动态获取菜单信息,或动态菜单服务器向手机推送菜单信息。4)、手机显示菜单信息。
2.如权利要求1所述的一种实现动态菜单的方法,其特征在于所述的定制至少包括以下三项中的的一项组织菜单信息、对同级菜单分段、同级菜单项排序。其特征是1)、所述的菜单信息的组织形式包括但不限于链表、树、森林,组织方式包括但不限于从一种形式组织成另一种形式以及把节点从树的一分支上移动到另一分支上以及对节点进行增、删、改。2)、所述的同级菜单分段特征是连续的若干个菜单项分成一段,其中动态菜单服务器中有至少一个值用于表示段的大小,即段中包含的菜单项数。3)、所述的排序是指菜单项在同级菜单中出现的次序,所述的排序包括重排序。
3.如权利要求1、2所述的一种实现动态菜单的方法,其特征在于所述的定制可以进行一到多次。
4.如权利要求1、2所述的一种实现动态菜单的方法,其特征在于所述的定制一般是通过互联网主机登录动态菜单服务器进行的,也可以通过手机登录动态菜单服务器进行。
5.如权利要求1所述的一种实现动态菜单的方法,其特征在于服务器提供给手机的菜单信息是某级菜单的全部信息或某级菜单的部分信息。
6.如权利要求1所述的一种实现动态菜单的方法,其特征在于手机同时显示的菜单项为同一级的菜单项,且其菜单项排列顺序与动态菜单服务器端一致。
7.如权利要求1、6所述的一种实现动态菜单的方法,其特征在于手机显示菜单信息的方式包括但不限于列表式菜单,按钮式菜单,图片式菜单,菜单的排列方式包括但不限于纵向单列、纵向多列、横向单行、横向多行。
8.如权利要求1所述的一种实现动态菜单的方法,其特征在于手机可以通过发送指令到动态菜单服务器,从动态菜单服务器获取子菜单信息、父亲菜单信息,或如果支持分段定制,还可以从动态菜单服务器获取前一菜单段信息、后一菜单段信息。
9.如权利要求1、8所述的一种实现动态菜单的方法,其特征在于通过手机上的方向键、确认键、其他约定的键、软件模拟的键选择菜单项,发送指令。
10.如权利要求1所述的一种实现动态菜单的方法,其特征在于动态菜单服务器中有一数据库协助管理菜单信息。
全文摘要
本发明通过把菜单信息存放在动态菜单服务器上,通过互联网主机对动态菜单服务器上的菜单信息进行组织、分段、排序,手机从动态菜单服务器上动态获取菜单信息。具体来说,手机(100)透过移动网络、电信网关(200)与动态菜单服务器(300)进行通讯,响应使用者的操作从动态菜单服务器上获取相应的菜单信息,进行显示。动态菜单服务器(300),与互联网主机(600)通过互联网(500)互联,其还连接-数据库(400),帮助存储信息,其响应手机或互联网主机的指令,对菜单信息进行定制及发送相应的菜单信息。使用此方法,可以充分发挥手机和动态菜单服务器在信息处理时各自的优势,从而可以使手机应用程序包含大量的菜单项,并实现向使用者提供个性化菜单的目的。
文档编号G06F3/048GK1819605SQ200610024338
公开日2006年8月16日 申请日期2006年3月3日 优先权日2006年3月3日
发明者董崇军 申请人:董崇军