一种电子设备的组件显示方法及装置与流程

文档序号:34326426发布日期:2023-06-01 03:31阅读:35来源:国知局
一种电子设备的组件显示方法及装置与流程

本发明涉及电子设备显示领域,具体涉及一种电子设备的组件显示方法及装置。


背景技术:

1、电子班牌,也称智慧班牌,其替代了传统班级黑板报、墙体宣传,通过实时的高清屏幕,展示学校通知公告、班容班貌、校园风采、今日菜谱等内容,可以全方位展示校园及班级信息,电子班牌上展现组件的矩形窗是组件视窗,整个班牌的视窗可以划分为多个组件视窗。当前android系统的电子班牌上展现组件的时候一般采用组件化和插件化两种方式,具体如下:

2、组件化方式中,每个的组件是个aar,最终集成在一个app中,如果需要更新或者添加新的组件,需要更新该app的apk文件(android application package,android应用程序包)。这便导致组件化每次更新需要更新该apk,不便于组件的升级拓展。

3、插件化开发是将整个app拆分成多个模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk,最终打包的时候宿主apk和插件apk分开打包,可以完成组件的独立更新,但是插件一般采用hook技术,欺骗系统进行的apk加载,其中,hook技术是勾住系统的程序逻辑,在某段源码逻辑执行的过程中,通过代码手段拦截执行该逻辑,加入自己的代码逻辑,这导致插件化虽然解决了组件升级拓展方便问题,但是稳定性方面较差。

4、可见,无论是采用组件化,还是采用插件化,要么不便于组件的升级拓展,要么稳定性方面差,都无法满足更新某一组件的同时,保持系统稳定性的需求。

5、因此,在实现针对某一组件的升级拓展的同时,保持系统稳定性成为亟待解决的技术问题。


技术实现思路

1、基于上述现状,本发明的主要目的在于提供一种能同时满足组件的升级拓展和稳定性要求的电子设备的组件显示方法。

2、为实现上述目的,本发明采用的技术方案如下:

3、电子设备的组件显示方法,所述电子设备的屏幕能够被划分成多个显示区域,所述显示区域用于显示组件,包括;

4、s100,接收配置文件,所述配置文件包括窗口模式参数,所述窗口模式参数用于指示是否加载多窗口模式;

5、s200,当所述窗口模式参数指示为多窗口模式时,则执行步骤s310至步骤s313;

6、步骤s310,布局应用程序依次启动子窗口对应的组件,所述组件分别具有单独的应用程序包;

7、步骤s311,界面管理服务根据所述配置文件中的组id创建多窗口组,所述多窗口组包括所有所述显示区域,并将所述多窗口组添加到全局栈;

8、步骤s312:在所述多窗口组中按照所述显示区域的位置创建所述子窗口各自的分栈,分别设置所述待显示组件的界面的坐标、宽和高,按照所述坐标、宽和高加载所述界面,并将每个界面添加到对应子窗口的分栈;

9、步骤s313:添加所述多窗口组到窗口的关联,将所述子窗口的分栈中的界面参数传递至窗口管理服务,以显示所述子窗口对应的组件。

10、优选地,所述多窗口组中包括窗口管理,且其中每个窗口的窗口状态相同。

11、优选地,还包括:当所述子窗口启动新组件时,

12、创建新组件的界面,所述界面的坐标、宽和高设置为对应子窗口的坐标、宽和高;

13、更改所述子窗口的分栈栈顶的界面的生命周期为暂停状态;

14、将所述新组件的界面入子窗口栈;

15、将新组件的界面更新到所述多窗口组中;

16、将所述子窗口的分栈中的界面参数传递至窗口管理服务,以显示所述子窗口对应的组件。

17、优选地,还包括,当子窗口启动全屏组件时,

18、根据启动参数将所述子窗口设置为所述多窗口组的整体大小;

19、创建所述全屏组件的界面;

20、创建新多窗口组;

21、将所述新多窗口组添加到所述全局栈;

22、将所述全局栈中界面的坐标、宽和高传递至窗口管理服务,以显示所述全屏组件。

23、其中,将所述新多窗口组添加到所述全局栈时,所述全局栈的栈顶包含的所有的子窗口的生命周期都变进入暂停状态,新入栈的新多窗口组的生命周期进入运行状态;所述全局栈的栈顶出栈后,当前栈顶的多窗口组包含的所有的子窗口的生命周期全部进入运行状态。

24、优选地,如果所述子窗口再次弹出的窗口没有特殊参数,则弹出窗口按照子窗口的坐标、宽和高显示;如果所述再次弹出的窗口有特殊参数,则弹出窗口按照所述特殊参数的坐标、宽和高显示。

25、优选地,还包括,当所述子窗口接收到销毁指令时,由多窗口组统一获取窗口标识,按照所述窗口标识别对所述子窗口进行销毁处理。

26、优选地,所述多窗口组接收到的事件,按所述事件所属的子窗口分发到对应的子窗口。

27、优选地,在所述步骤s200中,当所述窗口模式参数指示为普通模式时,则执行步骤s400:所述界面管理服务创建当前组件的窗口组,并将所述窗口组添加到全局栈中,将所述全局栈中界面的坐标、宽和高传递至窗口管理服务,以显示所述当前组件。

28、本发明还公开一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,能够实现本发明的电子设备的组件显示方法。

29、本发明还公开一种电子班牌,包括:处理器,用于实现本发明的电子设备组件显示方法。

30、本发明还公开电子设备的组件显示装置,所述电子设备的屏幕能够被划分成多个显示区域,所述显示区域用于显示组件,所述装置包括配置文件接收模块、窗口模式判断模块和多组件启动模块;

31、所述配置文件接收模块用于接收配置文件,所述配置文件包括窗口模式参数,所述窗口模式参数用于指示是否加载多窗口模式;

32、窗口模式判断模块用于判断所述窗口模式参数是否指示为多窗口模式;

33、所述组件启动模块包括组件应用程序启动单元、多窗口组创建单元、子窗口分栈创建单元和组件显示单元,

34、所述组件应用程序启动单元用于在窗口模式参数指示为多窗口模式时,布局应用程序依次启动子窗口对应的组件,所述组件分别具有单独的应用程序包;

35、所述多窗口组创建单元用于将界面管理服务根据所述配置文件中的组id创建多窗口组,所述多窗口组包括所有所述显示区域,并将所述多窗口组添加到全局栈;

36、所述子窗口分栈创建单元用于在所述多窗口组中按照所述显示区域的位置创建所述子窗口各自的分栈,分别设置所述待显示组件的界面的坐标、宽和高,按照所述坐标、宽和高加载所述界面,并将每个界面添加到对应子窗口的分栈;

37、所述组件显示单元用于将所述多窗口组添加到窗口的关联,所述子窗口的分栈中的界面参数传递至窗口管理服务,以显示所述子窗口对应的组件。

38、优选地,所述多窗口组中包括窗口管理,且其中每个窗口的窗口状态相同。

39、优选地,还包括单组件启动模块,所述单组件启动模块用于在窗口模式参数指示为普通模式时,所述界面管理服务创建当前组件的窗口组,并将所述窗口组添加到全局栈中,将所述全局栈中界面的坐标、宽和高传递至窗口管理服务,以显示所述当前组件。

40、本发明的电子设备的组件显示方法是一个全新的解决方案,每个组件分别具有单独的应用程序包(apk),并在框架层的界面管理服务实现多个apk加载,并且每个apk不是独占整个屏幕,而是在屏幕的指定位置和大小进行展示,如果有更新组件的需求,更新对应的apk即可,新增组件时直接安装,增加了组件窗口增加起点坐标以及宽高,在指定的位置进行加载即可。当加载多窗口模式时,多窗口组中按照显示区域的位置创建子窗口各自的分栈,分别设置待显示组件的界面(activity)的坐标、宽和高并加载所述activity,之后添加多窗口组到窗口的关联,通过intent参数传递协议将子窗口的分栈中的activity参数传递至窗口管理服务,以显示子窗口对应的组件,即,每个apk都是按照系统的正常加载流程进行的加载。该电子设备发布系统的组件按照预定的位置和大小,显示对应的组件内容,每个组件都是一个单独的apk,加载以及展现都是按照单个应用的加载模式进行,能够稳定运行,快速升级。

41、本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1