动态加载界面导航的方法及系统的制作方法_3

文档序号:9471190阅读:来源:国知局
件配置软件的模块划分,如下所示:
[0093]
[0094] Navigation,xml文件节点说明:
[0095] 〈BottomView〉节点的〈Name〉和〈Assembly〉属性指定程序需要加载的一级导航条 的类名和所在程序集。
[0096] 〈MainButton〉节点对应一级导航条上的按钮;
[0097] 〈MiniView〉节点对应点击一级导航按钮后显示的二级导航条;
[0098] 〈MiniButton〉节点对应二级导航条上的按钮,其中MultModule属性为点击此 〈MiniButton〉后是否应显示三级导航;
[0099] 补充说明:以上述导航配置文件为例,在程序启动时需要加载程序集AppModule. dll下的名为BottomButtonView的一级导航条,点击一级导航条下的〈MainButtonName ='btnRecipe' > 按钮,显不程序集CommonUIModule.dll下的名为RecipeMiniButtonView 的二级导航条。点击此二级导航条上的〈MiniButtonName='btnProcessRecip'e>按钮, 显示程序集CommonUIModule.dll下的WaferFlowView界面,由于此界面需要显示三级导航 条,因此将其MultModule属性定义为"PMs"。
[0100] S15,在CommonUIModule. dll中定义LoadService类,该类负责解析Naviagtion. xml文件,并以字典的数据结构存储每级导航结构。
[0101] 接下来,进行二次开发;
[0102] S16,二次开发时新建客户化项目,在本发明中命名为AppModule,在此项目 中添加对CommonUI.dll的引用。根据模块划分方式,创建一级导航条界面,使其继承 BaseBottomButtonView。针对该项目开发专有的二级导航条,继承BaseMiniButtonView。 由于导航条上按钮的Click功能都已封装CommonUIModule.dll中,因此开发人员只需绘制 界面,并修改继承关系,不需要添加任何代码。
[0103]S17,修改Navigation,xml文件,配置各级导航按钮需要加载的导航条名称及所 属程序集。例如加载公共类库中的导航条及按钮时,在配置时其对应的〈Assembly〉属性设 置为CommonUIModule.dll,〈Name〉属性为对应的在CommonUIModule中的类名称。
[0104] 参照实施例一中的公共类库中的定义,上述步骤S350中,激活主界面对应的二级 导航按钮,进入界面的时序图如图3所示。
[0105] 实施例一中,S16,S17步骤即为二次开发工作,相比传统的直接开发界面导航的方 式容易的多,并且相同功能的模块界面也得到了复用,简化了程序二次开发的难度,减少了 日后软件的开发及维护工作。本发明充分利用XML文件组织软件界面导航,实现程序动态 加载界面导航。
[0106] 基于同一发明构思,相应的本发明实施例还提供一种动态加载界面导航的系统, 由于此系统解决问题的原理与动态加载界面导航的方法的实现原理相似,此系统的实施可 以通过前述方法的具体过程实现,因此重复之处不再赘述。
[0107] 参见图4,本发明提供的动态加载界面导航的系统,包括封装模块100、引用模块 200以及加载模块300 ;
[0108] 封装模块100,用于将通用的导航条、页面以及导航代码封装成可复用的类库;
[0109] 引用模块200,用于在二次开发时,引用可复用的类库,并根据项目需求开发特有 的导航条,修改预设的导航配置文件;
[0110] 加载模块300,用于根据修改后的导航配置文件,对界面导航进行加载。
[0111] 具体地,作为一种可实施方式,封装模块1〇〇包括创建单元、第一定义单元、第二 定义单元以及第三定义单元;
[0112] 创建单元,用于创建公共类库,并在公共类库中添加各级导航条的基类;
[0113] 第一定义单元,用于定义界面管理类,界面管理类负责在程序启动时加载各级导 航条,同时也负责响应界面中导航按钮的点击事件;
[0114] 第二定义单元,用于分别在各级导航条的基类中定义界面点击事件管理方法,在 界面点击事件管理方法中注册界面中所有的导航按钮的点击事件,并在预设的事件回调方 法中调用界面管理类中提供的相关方法;
[0115] 第三定义单元,用于定义导航配置文件,并在公共类库中添加导航配置文件解析 类。
[0116] 作为一种可实施方式,引用模块200包括引用单元、开发单元以及配置单元;
[0117] 引用单元,用于在二次开发时,新建客户化项目,并在客户化项目中引用可复用的 类库;
[0118] 开发单元,用于根据客户化项目的需求开发特有的导航条,并使其继承可复用的 类库中的对应级别的导航条的基类;
[0119] 配置单元,用于修改导航配置文件,配置各级导航按钮需要加载的对应级别的导 航条的名称及所属程序集。
[0120] 其中,各级导航条的基类包括一级导航条的基类、和/或二级导航条的基类、和/ 或三级导航条的基类。
[0121] 进一步地,加载模块300包括第一查找单元、第一加载单元、第一创建单元、第一 判断单元、第二查找单元、第三查找单元、第二加载单元、第二创建单元以及第二判断单 元;
[0122] 第一查找单元,用于在修改后的导航配置文件中的一级导航字典中查找对应的二 级导航条的实例;
[0123] 第一加载单元,用于若在一级导航字典中查找到对应的二级导航条的实例,则直 接加载二级导航条;
[0124] 第一创建单元,用于若在一级导航字典中没有查找到对应的二级导航条的实例, 则动态创建二级导航条的实例,并将创建的二级导航条的实例添加到一级导航字典中,加 载二级导航条;
[0125] 第一判断单元,用于在加载二级导航条后,判断二级导航条是否为默认加载的主 界面;
[0126] 第二查找单元,用于若判断二级导航条不是默认加载的主界面,则激活主界面对 应的二级导航按钮,进一步在修改后的导航配置文件中的二级导航字典中查找二级导航按 钮对应的界面实例;
[0127] 第三查找单元,若判断二级导航条是默认加载的主界面,直接在二级导航字典中 查找二级导航按钮对应的界面实例;
[0128] 第二加载单元,用于若找到二级导航按钮对应的界面实例,则直接加载主界面;
[0129] 第二创建单元,用于若没有找到二级导航按钮对应的界面实例,则动态创建主界 面的实例,并将创建的主界面的实例添加到二级导航字典中,加载主界面;
[0130] 第二判断单元,用于在加载主界面后,判断主界面中是否显示三级导航条,若需 要,则显示三级导航条,若不需要,则隐藏三级导航条。
[0131] 本发明提供的动态加载界面导航的方法及系统,充分利用XML文件组织软件界面 导航,实现了动态加载界面导航。其将通用的界面导航功能提炼到公共类库中,从而使功能 相同的导航条、导航代码及界面可重复利用,简化了程序二次开发的难度,减少了日后软件 的开发及维护工作。
[0132] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并 不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员 来说,在不脱离本发明构思的前提下,
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1