CN102508665B - 绘制应用程序视图的方法和装置 - Google Patents

绘制应用程序视图的方法和装置 Download PDF

Info

Publication number
CN102508665B
CN102508665B CN201110355873.0A CN201110355873A CN102508665B CN 102508665 B CN102508665 B CN 102508665B CN 201110355873 A CN201110355873 A CN 201110355873A CN 102508665 B CN102508665 B CN 102508665B
Authority
CN
China
Prior art keywords
view
panel
hosting
main frame
monitoring
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.)
Active
Application number
CN201110355873.0A
Other languages
English (en)
Other versions
CN102508665A (zh
Inventor
骆文平
金晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yunhu Times Technology Co., Ltd.
Original Assignee
Beijing Grandison & Jm Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Grandison & Jm Information Technology Co Ltd filed Critical Beijing Grandison & Jm Information Technology Co Ltd
Priority to CN201110355873.0A priority Critical patent/CN102508665B/zh
Publication of CN102508665A publication Critical patent/CN102508665A/zh
Application granted granted Critical
Publication of CN102508665B publication Critical patent/CN102508665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种绘制应用程序视图的方法的装置,属于软件开发领域。所述方法包括:基于GWT加载主框架,并实例化主框架;启动所述主框架,并在所述主框架中启动主持;调度预存的应用程序资源,根据所述应用程序资源和主持绘制出应用程序视图。本发明通过使用GWT所提供的控件构建网络应用程序的框架,并通过主持与视图之间的关系,在容器框架中绘制出视图。可以实现高度复杂和友好的人机交互界面,可以完全运用JAVA开发复杂且用户体验良好的网络应用程序,通过该框架进行网络应用程序的开发,可以提高网络应用程序的开发效率。

Description

绘制应用程序视图的方法和装置
技术领域
本发明涉及软件开发领域,特别涉及一种绘制应用程序视图的方法和装置
背景技术
编写网络应用程序是一个单调乏味且易于出错的过程。开发人员可能要花费90%的时间来处理浏览器行话。此外,构建、重复使用以及维护大量JavaScript代码库和AJAX组件可能困难且不可靠。如何提高应用程序的开发效率一直是人们关注的焦点和致力于解决的问题。
现有的网络应用程序开发的框架,如图1所示,开发人员对于不同的浏览器,要撰写不同浏览器端运行的AJAX脚本和撰写可以和浏览器交互的运行在服务器端的程序,来实现网络应用程序,另外,客户端和服务端采用不同语言,开发人员在开发过程中需要在不同种语言直接频繁切换。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
对于不同的浏览器,由于运行在不同浏览器上的AJAX脚本有差异,且同一浏览器的不同版本AJAX脚本也有差异,开发人员需要使用多种编码语言构建和维护JavaScript前端的AJAX脚本;调试AJAX脚本是一件非常繁杂的事,由于AJAX脚本是弱类型的语言,很多BUG都是出现在数据类型混淆的问题上,随着脚本数量的增多,隐含的BUG也会增多,且不容易将BUG找出来,增加了网络应用程序的开发难度。
发明内容
为了降低网络应用程序的开发难度,本发明提供了一种绘制应用程序视图的方法和装置,本发明是一种基于J2EE结合GWT开发的构建网络应用程序的方法和装置。所述技术方案如下:
本发明提供了一种绘制应用程序视图的方法,所述方法包括:
基于GWT加载主框架,并实例化主框架;
启动所述主框架,并在所述主框架中启动主持;
调度预存的应用程序资源,根据所述应用程序资源和主持绘制出应用程序视图;
所述在所述主框架中启动主持具体包括在所述主框架中设置视图对主持的监听,
相应地,所述根据所述应用程序资源和所述主持绘制出应用程序视图,具体包括:
实例化根据预存的应用程序资源得到的视图;
在主框架的主持中设置绘制视图的监听标志,所述监听标志对应一个视图;
所述监听标志对应的视图监听到所述监听标志时,在所述主框架中绘制出所述监听标志对应的视图。
具体地,所述主框架至少包括中心面板,所述实施例主框架具体包括:
预设主框架的中心面板对应的面板参数,所述面板参数包括边框风格、内边距、本身布局、背景颜色、标题、高度、宽度及初始内容中的一个或多个;
根据所述中心面板对应的面板参数,实例化所述主框架;
相应地,启动主框架具体包括根据所述中心面板对应的面板参数,调用部署中心面板函数,得到中心面板实例。
具体地,所述主框架还包括顶部面板、左侧面板、底部面板、右侧面板中的一个面板或多个面板;
相应地,所述实例化主框架还包括:
预设主框架的顶部面板、左侧面板、底部面板和右侧面板各自对应的面板参数,所述面板参数包括边框风格、内边距、本身布局、背景颜色、标题、高度、宽度及初始内容中的一个或多个;
根据所述顶部面板、左侧面板、底部面板和右侧面板各自对应的面板参数,实例化所述主框架。
进一步地,所述启动主框架还包括:
根据所述顶部面板对应的面板参数,调用部署顶部面板函数,得到顶部面板实例;
根据所述左侧面板对应的面板参数,调用部署左侧面板函数,得到左侧面板实例;
根据所述底部面板对应的面板参数,调用部署底部面板函数,得到底部面板实例;
根据所述右侧面板对应的面板参数,调用部署右侧面板函数,得到右侧面板实例。
进一步地,所述方法还包括:
启动主持后,监听标志对应的视图监听到所述主持的监听标志时,在所述主框架中添加所述视图对所述主持的监听;
获取所述主持对应的所有视图,并添加所述主持对应的所有视图对所述主持的监听。
进一步地,所述方法还包括:
视图监听到主持时,向所述主持发出请求信息,所述请求信息中携带使所述主持对应于另一视图的信息;
所述主持接收到所述请求信息后,更改自身的监听标志,使更改后的监听标志对应所述另一个视图;
所述另一个视图监听到所述主持的监听标志为自身视图时,切换所述另一视图到当前视图。
本发明还提供了一种绘制应用程序视图的装置,所述装置包括:
加载模块,用于基于GWT加载主框架,并实例化主框架;
启动模块,用于启动所述主框架,并在所述主框架中启动主持;
绘制模块,用于调度预存的应用程序资源,根据所述应用程序资源和主持绘制出应用程序视图;
其中,所述启动模块还用于在所述主框架中设置视图对主持的监听;
相应地,所述绘制模块具体包括调度单元和绘制单元;
所述调度单元,用于调度预存的应用程序资源得到视图;
所述绘制单元,用于实例化所述调度单元得到的视图;在主框架的主持中设置绘制视图的监听标志,所述监听标志对应一个视图;所述监听标志对应的视图监听到所述监听标志时,在所述主框架中绘制出所述监听标志对应的视图。
其中,所述装置还包括切换模块,所述切换模块包括发送单元、更改单元和切换单元;
所述发送单元,用于当视图监听到主持时,向所述主持发出请求信息,所述请求信息中携带使所述主持对应于另一视图的信息;
更改单元,用于当所述主持接收到所述请求信息后,更改自身的监听标志,使更改后的监听标志对应所述另一个视图;
切换单元,用于所述另一个视图监听到所述主持的监听标志为自身视图时,切换所述另一视图到当前视图。
本发明提供的技术方案带来的有益效果是:通过使用GWT所提供的控件构建网络应用程序的框架,并通过主持与视图之间的关系,在容器框架中绘制出视图。由于GWT采用控件或组件作为表现层开发的基本单元,以事件驱动方式控制和操作组件,可以实现高度复杂和友好的人机交互界面,可以完全运用JAVA开发复杂且用户体验良好的网络应用程序,通过该框架进行网络应用程序的开发,可以提高网络应用程序的开发效率。
附图说明
图1是现有技术中提供的网络应用程序开发的框架示意图;
图2是本发明1中提供的GWT的结构示意图;
图3是本发明1中提供的构建网络应用程序的框架的方法流程图;
图4是本发明2中提供的构建网络应用程序的框架的方法流程图;
图5是本发明3中提供的构建网络应用程序的框架的装置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明采用GWT开发表现层,完全采用JAVA语言构建和维护JavaScript前端应用程序,能够使用hibernate作为服务器端的数据持久层。
其中,GWT的结构参见图1,GWT是一个JAVA软件开发框架,完全使用JAVA一种语言作为开发语言,用于开发类似于Google Maps和Gmail的AJAX应用程序。本发明中,GWT的设计参考JAVA AWT包设计,如类命名规则、接口设计、事件监听等均与JAVA AWT包的设计方法相同,本发明用JAVA编程语言开发界面,然后用GWT编译器将JAVA类转换成适合浏览器执行的JavaScript和HTML。
GWT比传统网络应用程序开发方式容易学习、调试,由于AJAX和html经过编译,开发程序的效率比人工撰写的代码要高。GWT采用控件或组件作为表现层开发的基本单元,以事件驱动方式控制和操作组件,可以实现高度复杂和友好的人机交互界面,完全运用JAVA开发复杂且用户体验良好的网络应用程序,实现传统JSP等网络应用程序开发中需要大量AJAX才能够实现人机交互效果。
参见图2,本发明提供了一种构建网络应用程序的框架的方法,具体包括:
步骤101:基于GWT加载主框架,并实例化主框架;
步骤102:启动主框架,并在主框架中启动主持;
步骤103:调度预存的应用程序资源,根据应用程序资源和主持绘制出应用程序视图。
本发明提供的方法,通过使用GWT所提供的控件构建网络应用程序的框架,并通过主持与视图之间的关系,在容器框架中绘制出视图。由于GWT采用控件或组件作为表现层开发的基本单元,以事件驱动方式控制和操作组件,可以实现高度复杂和友好的人机交互界面,可以完全运用JAVA开发复杂且用户体验良好的网络应用程序,通过该框架进行网络应用程序的开发,可以提高网络应用程序的开发效率。
实施例2
参见图2,本发明提供了一种构建网络应用程序的框架的方法,具体包括:
步骤201:基于GWT加载网络应用程序开发的主框架,并实例化主框架;
其中,主框架是网络应用程序开发的应用场景,该主框架由面板组成,根据具体的应用场景,主框架包括中心面板、顶部面板、左侧面板、底部面板和右侧面板中的一个面板和多个面板,实际应用中主框架至少包括中心面板。
具体地,加载主框架时可以由Framework类的onModuleLoad函数执行,在执行onModuleLoad的过程中作了实例化主框架的操作,实例化主框架就是实例化AppStart类,由于AppStart属于一个抽象类,所以实际实例化的是AppStartWithCommand类。其中,实例化是指用类创建对象的过程,实例化一个对象其实就是在内存中开放一个空间,用于存储对象。
主框架包括中心面板时,实例化AppStartWithCommand类的过程,具体是实例化中心面板,即预设主框架的中心面板对应的面板参数,面板参数包括边框风格、内边距、本身布局、背景颜色、标题、高度、宽度及初始内容中的一个或多个;根据中心面板对应的面板参数,实例化所述主框架。
主框架除了中心面板,还包括顶部面板、左侧面板、底部面板和右侧面板中的一个面板或多个面板时,实例化AppStartWithCommand类的过程,具体是实例化顶部面板、左侧面板、底部面板和右侧面板,实例化各个面板的过程不分先后顺序。
初始化主框架的操作主要是根据预设的面板参数,设置出上述各面板。面板参数包括边框风格、内边距、本身布局、背景颜色、标题、高度、宽度及初始内容中的一个或多个。通过初始化操作,设置上述各面板的边框风格、内边距、本身布局、背景颜色、标题、宽度、高度及初始内容等基本要素。
步骤202:启动主框架,并布局主框架中的面板;
其中,本发明中通过执行实例化后的AppStart类的StartRun函数来启动主框架。主框架包括中心面板时,启动主框架包括根据预设的中心面板的面板参数,调用AppStart类的部署中心面板函数deployCenterPanel,得到中心面板实例。
主框架除了中心面板,还包括顶部面板、左侧面板、底部面板和右侧面板中的一个面板或多个面板时,启动主框架还包括:根据预设的顶部面板的面板参数,调用AppStart类的部署顶部面板函数deployNorthPanel,得到顶部面板实例;根据预设的左侧面板的面板参数,调用AppStart类的部署左侧面板函数deployWestPanel,返回结果为左侧面板实例;根据预设的底部面板的面板参数,调用AppStart类的ploySouthPanel部署底部面板函数,得到底部面板实例;根据预设的右侧面板的面板参数,调用AppStart类的部署右侧面板函数deployEastPanel,得到右侧面板实例。
具体地,布局顶部面板和左侧面板时,由于AppStart类的deployNorthPanel函数和deployWestPanel函数都属于抽象函数,所以实际是在AppStartWithCommand类的deployNorthPanel函数,deployWestPanel函数中进行布局,AppStartWithCommand类的deployNorthPanel函数和deployWestPanel函数主要负责顶部面板,左侧面板的外部布局,使顶部面板和左侧面板分别布局在顶部和左侧。同时,还可以设置顶部和左侧的外部边距、最大尺寸和最小尺寸等参数。
实际应用中,布局左侧面板的过程中会布局位于左侧面板内的命令菜单,如布局位于左侧面板的手风琴菜单,该手风琴菜单属于命令菜单。手风琴菜单是交互页面上经常使用的一种展现方式,通常用在有多个二级导航(或内容)以上的并列层级,这些层级可以是标签,标题,卡片等。但是不管形式如何,其目的是为了将有用的信息展现给用户,将临时不用的信息隐藏起来,可以起到节省空间的作用。
具体地,布局中心面板时,将中心面板实例作为参数传递到实例化AppContext的构造函数中,实例化AppContext的构造函数还需要另一个参数ActivityList.ACTIVITYP类型的枚举值,由枚举值唯一标识一个主持,是获取主持的依据。AbstractActivity是所有主持类的抽象类,实际应用中,在AbstractActivity中有多个主持,主持的数量随实际情况而定。本发明以AbstractActivity有两个主持为例进行说明,这两个主持分别为:IndexActivity和TopicActivity,均继承自AbstractActivity。保存实例化AppContext后的结果,如保存到_appContext中,实例化AppContext就是初始化应用程序上下文。
步骤203:根据预设的应用程序上下文获取初始功能的主持类别,根据预设的主持类别与主持的对应关系,获取主持,并实例化主持;
具体地,依据ActivityList.ACTIVITYP类型的枚举值通过调用ActivityList.getActivityByactivityplace函数获取主持类别,由于预设有主持类别与主持的对应关系,得到主持类别后,根据主持类别与主持的对应关系,获取该主持类别对应的主持,如获取到IndexActivity主持,并对主持进行实例化。
步骤204:在主框架中启动主持;
具体地,下面以在中心面板中启动主持,并在中心面板中添加视图为例进行说明。在实例化AppContext的后,调用_activity的Start函数启动主持。由于AbstractActivity为所有主持类的抽象类,调用它的Start函数就会调用相应主持的Start函数。Start函数有两个参数分别是RPC代理和中心面板,其中RPC代理用于主持和服务器通信。
实际应用中,由于一个主持可以对应多个视图,所以启动主持时要实例化该主持对应的所有视图。如本发明中,主框架的IndexActivity主持对应两个视图,分别为Editview视图和Indexview视图,TopicActivity主持对应一个Topicview视图,因此,本实施例中实例化IndexActivity时,还要实例化Editview视图和Indexview视图;实例化TopicActivity时,还要实例化Topicview视图。本发明还进一步保存视图实例,用于主持获取视图数据。
其中,监听是靠一种监听者设计模式实现,监听者设计模式又被称作观察者设计模式,下面是对观察者设计模式的介绍。
关于监听定义,监听定义了对象间的一种一对多的依赖关系,当一个主题对象的状态发生改变时,所有监听它的观察者对象都得到通知并被自动更新。
关于监听原理,主题对象并不知道引用了哪些具体观察者对象类型,而只知道抽象观察者类型,这样具体主题对象可以动态地维护一系列的观察者对象的引用,并在需要的时候调用每一个观察者共有的更新方法。这是“针对接口编程”的体现。
关于监听特征,监听特征包括了抽象主题角色、抽象观察者角色、具体主持角色、具体观察者角色。
其中,抽象主题(Subject)角色:保存所有的观察者对象的引用到一个聚集里(如Vector),并提供注册或移除观察者的操作。一般用一个抽象类或一个接口实现。也称被观察者或发布者。
抽象观察者(Observer)角色:为具体观察者定义一个更新接口,更新接口中包含了更新的方法,在得到主题的通知时更新自己。一般用一个抽象类或一个接口实现。也称监听者或订阅者。
具体主题(ConcreteSubject)角色:实现抽象主题,在内部状态发生变化时,给所有注册的观察者发出通知。
具体观察者(ConcreteObserver)角色:实现抽象观察者角色所定义的更新方法,在得到主题的通知时更新自己的状态。如有需要,具体观察者可以保存一个指向具体主题对象的引用。
监听者设计模式时常被用于事件处理,本技术中把它用于视图监听主持。
其中,设置视图对主持的监听后,视图会实时监听到主持操作的变化,从而便于视图做出相应的变化。同时,视图也可以把视图的变化传递给主持,主持的变化又会被别的视图监听到,视图可以做出相应变化,这样可以做到视图之间的监听。
步骤205:实例化根据预存的应用程序资源得到的视图,在主框架的主持中设置绘制视图的监听标志,监听标志对应的视图监听到监听标志时,在主框架中绘制监听标志对应的视图。
具体地,监听标志对应一个视图。通过设置监听标志,使相应的视图监听到该监听标志后,绘制相应的视图。如主持设置的监听标志为a,若视图在视图库中的标识为a,则视图a监听到绘制视图的标志a后,触发中心面板绘制视图a。
在主框架中完成绘制视图后,即完成了网络应用程序的框架的构建方案,从而可以根据构建的框架进行网络应用程序的开发操作。
进一步地,本发明还提供了主持之间的切换操作。
具体地,主持发起切换指令,该切换指令中携带了要切换到的另一主持的类别,根据该切换指令获取该切换后的主持类别,根据该主持类别获取切换后的主持,本发明将切换后的主持称为新主持,对新主持进行实例化处理,并实例化该新主持对应的新视图,添加该新视图对新主持的监听,并触发绑定视图上控件的事件,绑定视图上控件的事件后,事件处理函数会在用户激发视图上控件时,作出响应。对该新主持设置绘制视图的监听标志,该监听标志对应的视图监听到该监听标志后,绘制视图。
进一步地,本发明还提供了视图之间的切换操作。
具体地,视图切换到监听其他主持时,向当前监听的主持发出请求信息,该请求信息中携带使当前主持对应于另一视图的信息;当前主持接收到请求信息后,更改自身的监听标志,使更改后的监听标志对应另一个视图;因而,另一个视图监听到当前主持的监听标志为自身视图时,触发面板绘制出另一个视图。
另外,根据构建的框架进行网络应用程序的开发时,可以将从服务器获取的显示数据填充到视图中。具体地,本发明由GWT提供网络访问库,用于在浏览器与服务器的交互时使用,本发明通过在浏览器输入数据,并将输入的数据提交到服务器上,进行浏览器与服务器之间的交互,并从服务器获取视图中显示的数据,获取视图中显示的数据可以在绘制视图之前,也可以在完成绘制视图之后,若获取视图中显示的数据在绘制视图之前,需要将该数据进行缓存,完成视图绘制后,将该数据填充到视图中。填充完成后,即在浏览器上显示了开发出来的程序的运行效果。
具体地,主持和服务器端交互时采用JSONObject数据结构,避免了不同数据结构传递时需要定义相应的对象,减少了服务器的工作量。另外,JSON作为一种轻量级数据交互结构,大大降低了交互的数据量。
下面给出JSONObject数据结构的代码:
本发明提供的方法,与传统的JAVA WEB应用程序不同,在开发过程中用户无需撰写任何HTML和JAVA SCRIPT以及CSS等在浏览器客户端上面运行的程序,本发明允许开发人员使用JAVA编程语言快速构建和维护复杂而又高性能的JavaScript前端应用程序,降低了开发难度。本发明由于使用JAVA语言一种编程语言,避免了开发人员在不同种语言之间频繁切换的麻烦,自始至终开发人员只使用JAVA一种语言进行软件开发,因而在服务器端的软件开发中可以完全保留传统网络应用程序开发的优势,比如hibernate等来提高应用程序服务器端的开发效率和性能。Hibernate可以为应用程序提供数据持久层,提高应用程序数据访问的性能。
本发明的优点还在于,可以和GWT的很多第三方支撑库(比如GWTEXT)结合使用,整体架构采用更符合GWT开发的MVP设计模式,MVP设计模式完全隔离了模块和视图,一个主持可以对应多个视图,通过主持来实现模块和视图的交互,并在主持和视图交互时采用视图监听主持的方式。
本发明提供的方法,通过基于GWT采用MVP设计模式作为整体架构,可以清晰地分离模块和视图。其中,通过主持和视图交互时采用视图监听主持的方式,主持数据的变化立即会被视图监听到,视图做出相应的改变,如果一个视图有了变化通知主持,其他视图监听到主持的变化也会做出相应的变化,这样可以做到视图之间的监听,可以保证良好的人际对话。在主持之间切换时采用状态设计模式可以灵敏切换主持,保持客户端功能模块的完整和独立。
另外,本发明在主持和服务器交互时采用JSONObject数据结构,避免不同数据结构传递时需要定义相应的对象,同时JSON作为一种轻量级数据交互结构,大大减低了交互的数据量。服务器端采用hibernate作为数据持久层,在大规模数据访问时可以保持服务器端效率稳定。
实施例3
参见图4,本发明提供了一种绘制应用程序视图的装置,所述装置包括加载模块301、启动模块302和绘制模块303;
加载模块301,用于基于GWT加载主框架,并实例化主框架;
启动模块302,用于启动加载模块301加载的主框架,并在主框架中启动主持;
绘制模块303,用于在启动模块302启动的主框架中调度预存的应用程序资源,根据应用程序资源和主持绘制出应用程序视图。
其中,启动模块302还用于在主框架中设置视图对主持的监听;
相应地,绘制模块303具体包括调度单元和绘制单元;
调度单元,用于调度预存的应用程序资源得到视图;
绘制单元,用于实例化调度单元得到的视图;在主框架的主持中设置绘制视图的监听标志,监听标志对应一个视图;监听标志对应的视图监听到监听标志时,在主框架中绘制出监听标志对应的视图。
其中,所述装置还包括切换模块,该切换模块包括发送单元、更改单元和切换单元;
所述发送单元,用于当视图监听到主持时,向所述主持发出请求信息,所述请求信息中携带使所述主持对应于另一视图的信息;
更改单元,用于当所述主持接收到所述请求信息后,更改自身的监听标志,使更改后的监听标志对应所述另一个视图;
切换单元,用于所述另一个视图监听到所述主持的监听标志为自身视图时,切换所述另一视图到当前视图。
本发明提供的装置,通过使用GWT所提供的控件构建网络应用程序的框架,并通过主持与视图之间的关系,在容器框架中绘制出视图。由于GWT采用控件或组件作为表现层开发的基本单元,以事件驱动方式控制和操作组件,可以实现高度复杂和友好的人机交互界面,可以完全运用JAVA开发复杂且用户体验良好的网络应用程序,通过该框架进行网络应用程序的开发,可以提高网络应用程序的开发效率。
本实施例提供的装置,具体可以与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种绘制应用程序视图的方法,其特征在于,所述方法包括:
基于GWT加载主框架,并实例化主框架;
启动所述主框架,并在所述主框架中启动主持;
调度预存的应用程序资源,根据所述应用程序资源和所述主持绘制出应用程序视图;
所述在所述主框架中启动主持具体包括在所述主框架中设置视图对主持的监听,
相应地,所述根据所述应用程序资源和所述主持绘制出应用程序视图,具体包括:
实例化根据预存的应用程序资源得到的视图;
在主框架的主持中设置绘制视图的监听标志,所述监听标志对应一个视图;
所述监听标志对应的视图监听到所述监听标志时,在所述主框架中绘制出所述监听标志对应的视图;
其中,在所述主框架中启动主持之前,还包括:根据预设的应用程序上下文获取初始功能的主持类别,根据预设的主持类别与主持的对应关系,获取主持,并实例化主持;
其中,依据ActivityList.ACTIVITYP类型的枚举值通过调用ActivityList.getActivityByactivityplace函数获取初始功能的主持类别。
2.如权利要求1所述的方法,其特征在于,所述主框架至少包括中心面板,所述实例化主框架具体包括:
预设主框架的中心面板对应的面板参数,所述面板参数包括边框风格、内边距、本身布局、背景颜色、标题、高度、宽度及初始内容中的一个或多个;
根据所述中心面板对应的面板参数,实例化所述主框架;
相应地,启动主框架具体包括根据所述中心面板对应的面板参数,调用部署中心面板函数,得到中心面板实例。
3.如权利要求2所述的方法,其特征在于,所述主框架还包括顶部面板、左侧面板、底部面板、右侧面板中的一个面板或多个面板;
相应地,所述实例化主框架还包括:
预设主框架的顶部面板、左侧面板、底部面板和右侧面板各自对应的面板参数,所述面板参数包括边框风格、内边距、本身布局、背景颜色、标题、高度、宽度及初始内容中的一个或多个;
根据所述顶部面板、左侧面板、底部面板和右侧面板各自对应的面板参数,实例化所述主框架。
4.如权利要求3所述的方法,其特征在于,所述启动主框架还包括:
根据所述顶部面板对应的面板参数,调用部署顶部面板函数,得到顶部面板实例;
根据所述左侧面板对应的面板参数,调用部署左侧面板函数,得到左侧面板实例;
根据所述底部面板对应的面板参数,调用部署底部面板函数,得到底部面板实例;
根据所述右侧面板对应的面板参数,调用部署右侧面板函数,得到右侧面板实例。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
启动主持后,监听标志对应的视图监听到所述主持的监听标志时,在所述主框架中添加所述视图对所述主持的监听;
获取所述主持对应的所有视图,并添加所述主持对应的所有视图对所述主持的监听。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
视图监听到主持时,向所述主持发出请求信息,所述请求信息中携带使所述主持对应于另一视图的信息;
所述主持接收到所述请求信息后,更改自身的监听标志,使更改后的监听标志对应所述另一个视图;
所述另一个视图监听到所述主持的监听标志为自身视图时,切换所述另一视图到当前视图。
7.一种绘制应用程序视图的装置,其特征在于,所述装置包括:
加载模块,用于基于GWT加载主框架,并实例化主框架;
启动模块,用于启动所述主框架,并在所述主框架中启动主持;
绘制模块,用于调度预存的应用程序资源,根据所述应用程序资源和所述主持绘制出应用程序视图;
其中,所述启动模块还用于在所述主框架中设置视图对主持的监听;
相应地,所述绘制模块具体包括调度单元和绘制单元;
所述调度单元,用于调度预存的应用程序资源得到视图;
所述绘制单元,用于实例化所述调度单元得到的视图;在主框架的主持中设置绘制视图的监听标志,所述监听标志对应一个视图;所述监听标志对应的视图监听到所述监听标志时,在所述主框架中绘制出所述监听标志对应的视图;
其中,在所述主框架中启动主持之前,还包括:根据预设的应用程序上下文获取初始功能的主持类别,根据预设的主持类别与主持的对应关系,获取主持,并实例化主持;
其中,依据ActivityList.ACTIVITYP类型的枚举值通过调用ActivityList.getActivityByactivityplace函数获取初始功能的主持类别。
8.如权利要求7所述的装置,其特征在于,所述装置还包括切换模块,所述切换模块包括发送单元、更改单元和切换单元;
所述发送单元,用于当视图监听到主持时,向所述主持发出请求信息,所述请求信息中携带使所述主持对应于另一视图的信息;
更改单元,用于当所述主持接收到所述请求信息后,更改自身的监听标志,使更改后的监听标志对应所述另一个视图;
切换单元,用于所述另一个视图监听到所述主持的监听标志为自身视图时,切换所述另一视图到当前视图。
CN201110355873.0A 2011-11-10 2011-11-10 绘制应用程序视图的方法和装置 Active CN102508665B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110355873.0A CN102508665B (zh) 2011-11-10 2011-11-10 绘制应用程序视图的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110355873.0A CN102508665B (zh) 2011-11-10 2011-11-10 绘制应用程序视图的方法和装置

Publications (2)

Publication Number Publication Date
CN102508665A CN102508665A (zh) 2012-06-20
CN102508665B true CN102508665B (zh) 2014-12-17

Family

ID=46220757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110355873.0A Active CN102508665B (zh) 2011-11-10 2011-11-10 绘制应用程序视图的方法和装置

Country Status (1)

Country Link
CN (1) CN102508665B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103645901A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种基于事件链的用户界面插件化交互方法
CN110020319A (zh) * 2017-12-28 2019-07-16 北京京东尚科信息技术有限公司 视图切换方法和装置
CN112217731B (zh) * 2020-10-16 2022-08-05 青岛海尔科技有限公司 目标应用的生成方法及装置、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000544A (zh) * 2007-01-16 2007-07-18 华为技术有限公司 基于Web页面的事件分发方法与装置
CN102096593A (zh) * 2011-02-16 2011-06-15 上海普元信息技术股份有限公司 基于Flex技术的Web端业务流程图形化编辑框架系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699393B (zh) * 2009-10-09 2013-03-20 中国电子科技集团公司第二十八研究所 一种面向网络的智能化软件界面动态生成方法
CN102222005B (zh) * 2011-07-12 2013-10-30 铜陵玉成软件科技有限责任公司 面向业务模型的软件运行平台、运行方式及一种开发方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000544A (zh) * 2007-01-16 2007-07-18 华为技术有限公司 基于Web页面的事件分发方法与装置
CN102096593A (zh) * 2011-02-16 2011-06-15 上海普元信息技术股份有限公司 基于Flex技术的Web端业务流程图形化编辑框架系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于GWT技术开发AJAX应用的分析和研究;陈凌等;《计算机技术与发展》;20090930;第19卷(第11期);正文第2部分 *

Also Published As

Publication number Publication date
CN102508665A (zh) 2012-06-20

Similar Documents

Publication Publication Date Title
CN103729425A (zh) 操作响应方法、客户端、浏览器及系统
CN104484189A (zh) 一种应用界面的构建及设计方法
CN103282883A (zh) 在webtop应用托盘中显示安卓应用启动器的系统和方法
WO2014173141A1 (en) Method of switching desktop subjects of mobile terminal and its switching apparatus
CN112257135A (zh) 一种基于多线程的模型加载方法、装置、存储介质及终端
WO2008006267A1 (en) Intelligent agent based development platform
CN101931603A (zh) 一种在手持智能终端上实现远程调用的方法
CN109471626A (zh) 页面逻辑结构、页面生成方法、页面数据处理方法及装置
US20230229406A1 (en) Page rendering method, apparatus, electronic device, computer-readable storage medium, and computer program product
CN110297624B (zh) 基于electron框架的Widget系统的实现方法及采用该系统的电视机
CN100437478C (zh) 交互式无线应用程序系统和方法
CN112347545A (zh) 一种建筑模型处理方法、装置、计算机设备及存储介质
CN102508665B (zh) 绘制应用程序视图的方法和装置
CN114510170B (zh) 一种组件展示方法及显示设备
CN102158490A (zh) 基于OSGi的服务转换方法和装置
CN114338820A (zh) 网络访问方法、装置、电子设备及存储介质
CN105808313B (zh) 智能终端数据交互系统及方法
CN111258581B (zh) 基于云服务的应用开发方法、装置、设备及计算机介质
CN104731600A (zh) 一种将安卓系统服务插件化的实现方法
CN104038511A (zh) 一种资源管理方法及装置
WO2008029974A1 (en) Application framework system for distribution and migration of application
WO2015192671A1 (zh) 一种电视界面交互方法、装置及机顶盒
CN113742716B (zh) 代码运行方法、装置、电子设备、存储介质和程序产品
CN111984305B (zh) 一种应用配置方法及装置、计算机设备
CN111857782B (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180123

Address after: 100176 Beijing Beijing economic and Technological Development Zone Culture Park, No. 6, courtyard No. 30, No. 18, 1803

Patentee after: Beijing Yunhu Times Technology Co., Ltd.

Address before: 100020 room 22A01 room C, room No. six, Wantong center, Chaoyang District, Beijing

Patentee before: Beijing Grandison & JM Information Technology Co., Ltd.