CN116627544B - 页面启动方法、装置、电子设备和存储介质 - Google Patents

页面启动方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN116627544B
CN116627544B CN202310907109.2A CN202310907109A CN116627544B CN 116627544 B CN116627544 B CN 116627544B CN 202310907109 A CN202310907109 A CN 202310907109A CN 116627544 B CN116627544 B CN 116627544B
Authority
CN
China
Prior art keywords
page
starting
target page
variable
mapping
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
CN202310907109.2A
Other languages
English (en)
Other versions
CN116627544A (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.)
Sinochem Agriculture Holdings
Original Assignee
Sinochem Agriculture Holdings
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 Sinochem Agriculture Holdings filed Critical Sinochem Agriculture Holdings
Priority to CN202310907109.2A priority Critical patent/CN116627544B/zh
Publication of CN116627544A publication Critical patent/CN116627544A/zh
Application granted granted Critical
Publication of CN116627544B publication Critical patent/CN116627544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种页面启动方法、装置、电子设备和存储介质,涉及数据处理技术领域。其中方法包括:获取待启动的目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数;通过中间件,将所述核心参数与第一预设变量进行映射,得到第一映射关系,并将所述业务参数与第二预设变量进行映射,得到第二映射关系;通过所述中间件,基于所述第一映射关系启动所述目标页面,并基于所述第二映射关系,在所述目标页面上显示所述业务参数。本发明可以提高页面启动速度以及数据传输的灵活性,并且提高页面启动的安全性。

Description

页面启动方法、装置、电子设备和存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种页面启动方法、装置、电子设备和存储介质。
背景技术
在移动终端的应用程序中,用户在浏览页面的过程中往往需要从一个页面跳转到另一个页面,当前展示给用户浏览的页面技术称为Activity,而当前Activity跳转到另一个Activity的核心步骤是Intent意图,Intent分为两种启动方式:显式启动与隐式启动。
通常情况下Activity跳转会携带一些参数,显式启动和隐式启动都是通过Binder机制进行数据传输。然而,因为Binder映射内存的限制,应用数据加上系统数据总大小不得超过512KB,虽然不同的机型和系统版本,这个上限值也可能会不同,但是超出这个上限值就会崩溃,导致页面启动存在安全性问题,且数据传输不够灵活;且Intent携带参数时,需要进行数据序列化操作,从而影响了页面启动速度;且Intent携带参数会经过Binder内核,即数据传输会经过系统底层,数据将可能被底层的拦截手段拦截,目标页面可能会被替换掉,导致页面启动存在安全性问题。
综上,目前的页面启动方式存在安全性问题,且页面启动速度较慢,且数据传输不够灵活。
发明内容
本发明提供一种页面启动方法、装置、电子设备和存储介质,用以解决现有技术中页面启动方式存在安全性问题,且页面启动速度较慢,且数据传输不够灵活。
本发明提供一种页面启动方法,包括:
获取待启动的目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数;
通过中间件,将所述核心参数与第一预设变量进行映射,得到第一映射关系,并将所述业务参数与第二预设变量进行映射,得到第二映射关系;
通过所述中间件,基于所述第一映射关系启动所述目标页面,并基于所述第二映射关系,在所述目标页面上显示所述业务参数。
根据本发明提供的一种页面启动方法,所述将所述业务参数与第二预设变量进行映射,得到第二映射关系,包括:
将所述业务参数封装为业务数据对象,并获取所述业务数据对象对应的引用变量;
将所述引用变量与第二预设变量进行映射,得到第二映射关系;
所述基于所述第二映射关系,在所述目标页面上显示所述业务参数,包括:
基于所述第二映射关系和所述第二预设变量获取所述引用变量,并基于所述引用变量获取所述引用变量对应的业务数据对象;
基于所述业务数据对象,获取所述业务参数;
在所述目标页面上显示所述业务参数。
根据本发明提供的一种页面启动方法,所述第二预设变量为泛型变量,所述将所述引用变量与第二预设变量进行映射,得到第二映射关系,包括:
将所述引用变量与所述泛型变量进行映射,得到第二映射关系;
所述基于所述第二映射关系和所述第二预设变量获取所述引用变量,包括:
基于所述第二映射关系和所述泛型变量获取所述引用变量。
根据本发明提供的一种页面启动方法,所述获取待启动的目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数,包括:
获取在当前页面触发的页面跳转指令;
基于所述页面跳转指令,获取所述目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数。
根据本发明提供的一种页面启动方法,还包括:
在所述目标页面的生命周期内,检测所述目标页面更新后的业务参数;
在获取在所述目标页面触发的页面返回指令的情况下,启动所述当前页面,并在所述当前页面上显示所述更新后的业务参数。
根据本发明提供的一种页面启动方法,所述基于所述第一映射关系启动所述目标页面,包括:
基于所述第一映射关系,获取所述核心参数;
基于所述核心参数,在当前应用对应的页面集中匹配所述目标页面;
若匹配成功,则启动所述目标页面;
若匹配失败,则显示信息。
根据本发明提供的一种页面启动方法,所述若匹配失败,则显示信息,包括:
若匹配失败,则基于所述核心参数确定所述目标页面无法启动的提示信息,并显示所述提示信息;和/或,
若匹配失败,则基于所述核心参数确定多个可选择的页面信息,并显示各所述页面信息。
根据本发明提供的一种页面启动方法,所述基于所述核心参数,在当前应用对应的页面集中匹配所述目标页面,包括:
获取承载当前页面的活动Activity对象对应的Activity引用变量;
对所述Activity引用变量进行鉴权;
在所述Activity引用变量鉴权通过的情况下,基于所述核心参数,在当前应用对应的页面集中匹配所述目标页面。
本发明还提供一种页面启动装置,包括:
获取模块,用于获取待启动的目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数;
映射模块,用于通过中间件,将所述核心参数与第一预设变量进行映射,得到第一映射关系,并将所述业务参数与第二预设变量进行映射,得到第二映射关系;
启动模块,用于通过所述中间件,基于所述第一映射关系启动所述目标页面,并基于所述第二映射关系,在所述目标页面上显示所述业务参数。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述页面启动方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述页面启动方法。
本发明提供的页面启动方法、装置、电子设备和存储介质,获取待启动的目标页面启动所需的核心参数,以及目标页面所需显示的业务参数,通过中间件,将核心参数与第一预设变量进行映射,得到第一映射关系,并将业务参数与第二预设变量进行映射,得到第二映射关系,通过中间件,基于第一映射关系启动目标页面,可以使得Intent启动目标页面不需要携带业务参数,而是通过中间件的方式来传递启动目标页面所需的业务参数,避免了数据序列化的操作,进而提高页面启动的速度;且对数据传输格式与大小没有限制,从而提高数据传输的灵活性;同时,业务参数没有经过系统底层Binder机制传输,而是属于应用内部的数据传输,从而提高页面启动的安全性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的页面启动方法的流程示意图之一;
图2为本发明提供的页面启动方法的流程示意图之二;
图3为本发明提供的页面启动装置的结构示意图;
图4为本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在移动终端的应用程序中,展示给用户信息的界面技术称为Activity,由当前Activity跳转到另一个Activity的核心技术是Intent意图;Intent分为两种启动方式:显式启动与隐式启动,通常情况下Activity跳转必然会携带一些参数,这些参数是通过Intent中的Bundle进行传递。
其中,显式启动通常启动自己应用内部的页面,效率高,用法简单,支持基本数据类型的数据传输,基本数据类型以键值对的形式进行传输,引用数据类型通过数据序列化的操作将对象的状态信息转换为可以存储或传输的形式,传递到目标页面。
然而,以键值对的形式进行数据传输,需要启动页面与响应页面字段一一对应,这种方式虽然简单,但是限制了数据传输灵活性。因为实际开发情况是需要传递引用数据类型较多,而引用数据类型是基于序列化方式传输。当目标页面需要获取数据时,需要通过从存储区中读取或反序列化对象的状态,重新创建该对象,这种方式效率低下,从而影响页面启动的速度,且会导致页面启动时的卡顿现象,严重影响用户体验。
其中,隐式启动允许启动应用程序之外的页面,当发出启动页面指令后,Android系统搜索所有应用中与Intent匹配的页面,筛选出整个设备可响应该Intent的组件。
然而,隐式启动方式使用起来相对复杂,需要启动页面与目标页面双方约定Action、Data、Category等内容才能匹配到目标页面,解析效率低,从而影响页面启动速度,并且还可能存在同时匹配多个页面的情况,导致需要进一步进行页面筛选,从而影响页面启动的速度,从而导致用户体验差,此外,该方式由于是通过系统搜索过滤实现的,导致目标页面可能会被一些拦截手段替换掉,因而存在信息安全的隐患。
通常情况下Activity跳转会携带一些参数,显式启动和隐式启动都是通过Binder机制进行数据传输。然而,因为Binder映射内存的限制,应用数据加上系统数据总大小不得超过512KB,虽然不同的机型和系统版本,这个上限值也可能会不同,但是超出这个上限值就会崩溃,导致页面启动存在安全性问题,且数据传输不够灵活;且Intent携带参数时,需要进行数据序列化操作,从而影响了页面启动速度;且Intent携带参数会经过Binder内核,即数据传输会经过系统底层,数据将可能被底层的拦截手段拦截,目标页面可能会被替换掉,导致页面启动存在安全性问题。
综上,目前的页面启动方式存在安全性问题,且页面启动速度较慢,且数据传输不够灵活。
针对上述问题,本发明提出以下各实施例。图1为本发明提供的页面启动方法的流程示意图之一,如图1所示,该页面启动方法包括:
步骤110,获取待启动的目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数。
此处,目标页面为需要启动的页面,即需要跳转或者打开的页面。
在一实施例中,目标页面可以为从系统打开某应用,应用打开后所出现的新页面,即系统中除当前应用之外的其他应用的页面。在另一实施例中,目标页面可以为当前应用内部除当前页面之外的另一个页面。
此处,核心参数为匹配目标页面所需的参数。该核心参数可以包括但不限于以下至少一种:目标页面的包名、目标页面的类名、附加信息及Action(动作)、Data(数据)、Category(执行环境)的属性等等。该附加信息可以包括但不限于以下至少一种:目标页面无法启动的提示信息、多个可选择的页面信息等等,该附加信息用于确定目标页面无法启动时的后续操作。
此处,业务参数包括在启动页面时,所需传输到目标页面的数据,例如,文档数据、图片数据、视频数据、音频数据等等。
在一实施例中,业务参数可以包括目标页面所需显示的业务数据,还可以包括除了用于显示数据以外的其他数据。
步骤120,通过中间件,将所述核心参数与第一预设变量进行映射,得到第一映射关系,并将所述业务参数与第二预设变量进行映射,得到第二映射关系。
此处,中间件为一个软件,其可看做将核心参数与第一预设变量进行映射,并将业务参数与第二预设变量进行映射的执行主体。
此处,第一预设变量的数量可以为一个或多个,第一预设变量的类型可以包括但不限于以下至少一种:基本数据类型和引用数据类型。
例如,第一预设变量为基本数据类型,该第一预设变量为字符串类型,该第一预设变量为Action,则将核心参数中与Action匹配的属性值与该Action映射,即将该属性值赋值到第一预设变量Action。
例如,第一预设变量为引用数据类型,则将核心参数中的部分参数或所有参数封装为核心数据对象(实例化对象),并获取核心数据对象对应的引用变量,然后将核心数据对象对应的引用变量和第一预设变量进行映射,从而得到第一映射关系,即将该引用变量赋值到该第一预设变量。
在一实施例中,第一预设变量可以为泛型变量,从而保证数据映射的通用性,提高数据传输的灵活性。
此处,第二预设变量的数量可以为一个或多个,第二预设变量可以包括但不限于以下至少一种:基本数据类型和引用数据类型。
例如,第二预设变量为基本数据类型,则将业务参数中与该第二预设变量匹配的属性值与该第二预设变量映射,即将该属性值赋值到第二预设变量,换言之,通过键值对映射的方式,形成第二映射关系。
例如,第二预设变量为引用数据类型,则将业务参数中的部分参数或所有参数封装为业务数据对象(实例化对象),并获取业务数据对象对应的引用变量,然后将业务数据对象对应的引用变量和第二预设变量进行映射,从而得到第二映射关系,即将该引用变量赋值到该第二预设变量,换言之,通过数据序列化的方式,形成第二映射关系。
在一实施例中,第二预设变量可以为泛型变量,从而保证数据映射的通用性,提高数据传输的灵活性。
在一实施例中,可以设立核心数据存储区和业务数据存储区,然后将第一映射关系存储到核心数据存储区,并将第二映射关系存储到业务数据存储区。
步骤130,通过所述中间件,基于所述第一映射关系启动所述目标页面,并基于所述第二映射关系,在所述目标页面上显示所述业务参数。
具体地,基于至少一个第一映射关系和至少一个第一预设变量,获取核心参数,即从第一映射关系中确定出第一预设变量对应的核心参数;基于该核心参数启动目标页面,该启动方式可以为显式启动或隐式启动。
例如,第一预设变量为基本数据类型,该第一预设变量为字符串类型,该第一预设变量为Action,则将第一映射关系中与Action映射的属性值获取出来,即将第一预设变量Action的属性值获取出来。
例如,第一预设变量为引用数据类型,则将第一映射关系中与第一预设变量映射的引用变量获取出来,并获取该引用变量对应的核心数据对象,并基于该核心数据对象,获取核心参数,即将第一预设变量对应的引用变量对应的实例化对象封装的核心参数获取出来。
具体地,基于至少一个第二映射关系和至少一个第二预设变量获取业务参数;在目标页面上显示该业务参数。
例如,第二预设变量为基本数据类型,则将第二映射关系中与第二预设变量映射的属性值获取出来,即将第二预设变量的属性值获取出来。
例如,第二预设变量为引用数据类型,则将第二映射关系中与第二预设变量映射的引用变量获取出来,并获取该引用变量对应的业务数据对象,并基于该业务数据对象,获取业务参数,即将第二预设变量对应的引用变量对应的实例化对象封装的业务参数获取出来。
进一步地,获取鉴权信息,对该鉴权信息进行鉴权,在鉴权通过的情况下,基于该核心参数启动目标页面;在鉴权不通过的情况下,返回上述步骤110。该鉴权信息可以包括但不限于以下至少一种:承载当前页面的Activity对象对应的Activity引用变量、核心参数、业务参数等等。
可以理解的是,通过中间件,基于第一映射关系启动目标页面并不需要携带业务参数,即并不需要Intent携带业务参数,可以通过第一映射关系直接启动目标页面,而其业务参数可以基于第二映射关系,在目标页面上进行显示,从而提高页面启动速度。
本发明实施例提供的页面启动方法,获取待启动的目标页面启动所需的核心参数,以及目标页面所需显示的业务参数,通过中间件,将核心参数与第一预设变量进行映射,得到第一映射关系,并将业务参数与第二预设变量进行映射,得到第二映射关系,通过中间件,基于第一映射关系启动目标页面,可以使得Intent启动目标页面不需要携带业务参数,而是通过中间件的方式来传递启动目标页面所需的业务参数,避免了数据序列化的操作,进而提高页面启动的速度;且对数据传输格式与大小没有限制,从而提高数据传输的灵活性;同时,业务参数没有经过系统底层Binder机制传输,而是属于应用内部的数据传输,从而提高页面启动的安全性。
基于上述实施例,该方法中,上述步骤120包括:
将所述业务参数封装为业务数据对象,并获取所述业务数据对象对应的引用变量;
将所述引用变量与第二预设变量进行映射,得到第二映射关系。
具体地,将业务参数中的部分参数或所有参数封装为业务数据对象(实例化对象),并获取业务数据对象对应的引用变量,然后将业务数据对象对应的引用变量和第二预设变量进行映射,从而得到第二映射关系,即将该引用变量赋值到该第二预设变量,换言之,通过数据序列化的方式,形成第二映射关系。
在一实施例中,可以将业务参数中的部分参数或所有参数封装为一个或多个业务数据对象(实例化对象)。
在一实施例中,业务数据对象对应的引用变量可以表征业务数据对象的存储地址。
相应地,上述步骤130中,基于所述第二映射关系,在所述目标页面上显示所述业务参数,包括:
基于所述第二映射关系和所述第二预设变量获取所述引用变量,并基于所述引用变量获取所述引用变量对应的业务数据对象;
基于所述业务数据对象,获取所述业务参数;
在所述目标页面上显示所述业务参数。
具体地,将第二映射关系中与第二预设变量映射的引用变量获取出来,基于该引用变量获取其对应的业务数据对象,基于该业务数据对象,获取业务参数,并在目标页面上显示该业务参数。
在一具体实施例中,第二预设变量为泛型变量,在目标页面的on Create生命周期中,通过该泛型变量和第二映射关系,确定业务数据对象对应的引用变量,从而获得业务数据对象,进而通过该业务数据对象获得业务参数,并在目标页面上显示该业务参数。
本发明实施例提供的页面启动方法,将业务参数封装为业务数据对象,并获取业务数据对象对应的引用变量,并将引用变量与第二预设变量进行映射,得到第二映射关系,相应地,基于第二映射关系和第二预设变量获取引用变量,并基于引用变量获取引用变量对应的业务数据对象,基于业务数据对象,获取业务参数,以在目标页面上显示业务参数,可以使得Intent启动目标页面不需要携带业务参数,而是通过中间件的方式来传递启动目标页面所需的业务参数,且传递的是引用变量,也就是传递的是内存地址,而非对象的本身,相比通过键值对结构的传输方式而言,本发明实施例可以提高传输效率,进而进一步提高页面启动的速度;且引用变量的传递对数据传输格式与大小没有限制,从而进一步提高数据传输的灵活性。
基于上述任一实施例,该方法中,第二预设变量为泛型变量,所述将所述引用变量与第二预设变量进行映射,得到第二映射关系,包括:
将所述引用变量与所述泛型变量进行映射,得到第二映射关系;
相应地,所述基于所述第二映射关系和所述第二预设变量获取所述引用变量,包括:
基于所述第二映射关系和所述泛型变量获取所述引用变量。
本发明实施例提供的页面启动方法,将引用变量与泛型变量进行映射,得到第二映射关系,相应地,基于第二映射关系和泛型变量获取引用变量,从而保证数据映射的通用性,提高数据传输的灵活性。并且使得通过中间件的方式来传递启动目标页面所需的业务参数的时候,对数据传输格式与大小没有限制,从而提高数据传输的灵活性。
基于上述任一实施例,该方法中,上述步骤110包括:
获取在当前页面触发的页面跳转指令;
基于页面跳转指令,获取目标页面启动所需的核心参数,以及目标页面所需显示的业务参数。
此处,当前页面为当前设备所显示的页面,即用户当前正在浏览的页面。页面跳转指令是在该当前设备上触发的,可以由用户通过该当前设备触发。该页面跳转指令指示有核心参数和业务参数。
在一实施例中,获取当前页面触发的页面跳转指令的方式,可以包括但不限于以下至少一种:用户点击当前页面对应的跳转页面标识进行获取,或者通过自动跳转页面的指令来获取等等,例如,5秒内未操作,自动跳转至下个页面。
本发明实施例提供的页面启动方法,获取在当前页面触发的页面跳转指令;基于页面跳转指令,获取目标页面启动所需的核心参数,以及目标页面所需显示的业务参数,从而使得后续跳转页面时不需要携带业务参数,而是通过中间件的方式来传递启动目标页面所需的业务参数,避免了数据序列化的操作,进而提高页面跳转的速度。
基于上述任一实施例,图2为本发明提供的页面启动方法的流程示意图之二,如图2所示,该方法还包括:
步骤210,在目标页面的生命周期内,检测目标页面更新后的业务参数。
步骤220,在获取在目标页面触发的页面返回指令的情况下,启动当前页面,并在当前页面上显示更新后的业务参数。
此处,生命周期表示所处的进程状态,以Activity为例,其包括开启On Create、开启动画初始化On Start、运行On Resume、调用On Pause、停止On Stop、销毁On Destroy、重启On Restart七个生命周期。
具体地,检测目标页面更新后的业务参数的方式为:监听目标页面生命周期内业务参数发生的改变;若发生改变,执行通知目标页面内的业务参数改变的操作。
在一实施例中,在目标页面的生命周期内,不仅可以检测目标页面更新后的业务参数,也可以检测目标页面所处的生命周期状态。
在一具体实施例中,可以通过回调函数的方式实时获取并通知目标页面的进程状态和最新的业务参数。
具体地,触发页面返回指令相当于触发重新启动当前页面,然后在重新启动的当前页面上,显示目标页面更新后的业务参数。
在一实施例中,也可以触发页面跳转指令,则对应的启动所需跳转的页面,并在跳转后的页面上显示更新后的业务参数。
在一具体实施例中,在目标页面的生命周期内,对于目标页面的各个生命周期进行监听,从而检测目标页面更新后的业务参数,并调用对应的实现方法(回调函数),实现传输最新业务参数到当前页面的同时,目标页面的生命周期的每次变化都会被当前页面(启动页面)观察到,以实现页面间的业务数据相互通信的目的。
本发明实施例提供的页面启动方法,对于目标页面的各个生命周期进行监听,从而检测目标页面更新后的业务参数,并调用对应的实现方法,实现传输最新业务参数到当前页面的同时,目标页面的生命周期的每次变化都会被当前页面(启动页面)观察到,以实现页面间的业务数据相互通信的目的。
基于上述任一实施例,该方法中,上述步骤130中,基于第一映射关系启动目标页面,包括:
基于第一映射关系,获取核心参数;
基于核心参数,在当前应用对应的页面集中匹配目标页面;
若匹配成功,则启动目标页面;
若匹配失败,则显示信息。
具体地,第一映射关系表征的是核心数据对象对应的引用变量和第一预设变量的映射关系,所以基于此前获取的第一映射关系以及第一预设变量,可以获取得到核心数据对象对应的引用变量,从而获得核心数据对象,进而获得核心参数。
此处,当前应用对应的页面集包括当前应用的多个页面。
在一实施例中,显示的信息可以提前预设为固定的信息,例如,显示文字“不存在目标页面”。在另一实施例中,匹配失败显示的信息可以是对目标页面匹配失败的具体情况的说明。
本发明实施例提供的页面启动方法,基于第一映射关系,获取核心参数;基于核心参数,在当前应用对应的页面集中匹配目标页面;若匹配成功,则启动目标页面;若匹配失败,则显示信息。基于核心参数在当前应用的匹配结果,匹配成功则跳转页面,匹配失败则显示信息,便于用户了解页面跳转情况。
基于上述任一实施例,该方法中,若匹配失败,则显示信息,包括:
若匹配失败,则基于核心参数确定目标页面无法启动的提示信息,并显示提示信息;和/或,
若匹配失败,则基于核心参数确定多个可选择的页面信息,并显示各页面信息。
具体地,基于核心参数中的附加信息,确定目标页面无法启动的提示信息。
其中,附加信息可以包括但不限于以下至少一种:目标页面无法启动的提示信息、多个可选择的页面信息等等,该附加信息用于确定目标页面无法启动时的后续操作。
在一实施例中,附加信息的类型为提示类型,若匹配失败,根据无法启动的具体原因,确定目标页面无法启动的提示信息,并且显示该提示信息,例如,通知用户“因为核心参数不匹配无法启动目标页面”。
在另一实施例中,设附加信息的类型为启动类型,若匹配失败,根据核心参数(如Action、Data、Category等信息)寻找符合要求的目标页面,以此确定符合的页面信息,并显示该页面信息。若确定的符合的页面信息为多个,则显示包含各页面信息的选择弹窗,用户可根据该选择弹窗,自行选择所需要启动的目标页面。
此外,核心参数中也可以不包括附加信息,直接通过核心参数匹配目标页面,若失败则直接显示预设的提示信息,该提示信息可以提前预设,例如:“无法启动目标页面”。
本发明实施例提供的页面启动方法,若匹配失败,则基于核心参数确定目标页面无法启动的提示信息,并显示提示信息;和/或,若匹配失败,则基于核心参数确定多个可选择的页面信息,并显示各页面信息。基于核心参数在系统应用的匹配结果,匹配成功则跳转页面,匹配失败则根据预设情形显示信息,便于用户了解页面跳转情况或者选择其他页面进行跳转。
基于上述任一实施例,该方法中,基于核心参数,在当前应用对应的页面集中匹配目标页面,包括:
获取承载当前页面的活动Activity对象对应的Activity引用变量;
对Activity引用变量进行鉴权;
在Activity引用变量鉴权通过的情况下,基于核心参数,在当前应用对应的页面集中匹配目标页面。
具体地,获取承载当前页面的活动Activity对象对应的Activity引用变量,对Activity引用变量进行鉴权,在鉴权通过的情况下,启动目标页面;在鉴权不通过的情况下,返回上述步骤110。
在一具体实施例中,当前页面的活动Activity对象对应的Activity引用变量可以为当前页面的类对象,通过将当前页面的类对象作为自身鉴权信息,进而确定启动页面的身份校验。
本发明实施例提供的页面启动方法,获取承载当前页面的活动Activity对象对应的Activity引用变量;对Activity引用变量进行鉴权;在Activity引用变量鉴权通过的情况下,基于核心参数,在当前应用对应的页面集中匹配目标页面,从而在鉴权通过的情况下,进行目标页面的匹配,提高页面跳转过程中的安全性。
下面对本发明提供的页面启动装置进行描述,下文描述的页面启动装置与上文描述的页面启动方法可相互对应参照。
图3为本发明提供的页面启动装置的结构示意图,如图3所示,该页面启动装置,包括:获取模块310、映射模块320和启动模块330。
获取模块310,用于获取待启动的目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数。
映射模块320,用于通过中间件,将所述核心参数与第一预设变量进行映射,得到第一映射关系,并将所述业务参数与第二预设变量进行映射,得到第二映射关系。
启动模块330,用于通过所述中间件,基于所述第一映射关系启动所述目标页面,并基于所述第二映射关系,在所述目标页面上显示所述业务参数。
本发明实施例提供的页面启动装置,获取待启动的目标页面启动所需的核心参数,以及目标页面所需显示的业务参数,通过中间件,将核心参数与第一预设变量进行映射,得到第一映射关系,并将业务参数与第二预设变量进行映射,得到第二映射关系,通过中间件,基于第一映射关系启动目标页面,可以使得Intent启动目标页面不需要携带业务参数,而是通过中间件的方式来传递启动目标页面所需的业务参数,避免了数据序列化的操作,进而提高页面启动的速度;且对数据传输格式与大小没有限制,从而提高数据传输的灵活性;同时,业务参数没有经过系统底层Binder机制传输,而是属于应用内部的数据传输,从而提高页面启动的安全性。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行页面启动方法,该方法包括:获取待启动的目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数;通过中间件,将所述核心参数与第一预设变量进行映射,得到第一映射关系,并将所述业务参数与第二预设变量进行映射,得到第二映射关系;通过所述中间件,基于所述第一映射关系启动所述目标页面,并基于所述第二映射关系,在所述目标页面上显示所述业务参数。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的页面启动方法,该方法包括:获取待启动的目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数;通过中间件,将所述核心参数与第一预设变量进行映射,得到第一映射关系,并将所述业务参数与第二预设变量进行映射,得到第二映射关系;通过所述中间件,基于所述第一映射关系启动所述目标页面,并基于所述第二映射关系,在所述目标页面上显示所述业务参数。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种页面启动方法,其特征在于,包括:
获取待启动的目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数;
通过中间件,将所述核心参数与第一预设变量进行映射,得到第一映射关系,并将所述业务参数与第二预设变量进行映射,得到第二映射关系;
通过所述中间件,基于所述第一映射关系启动所述目标页面,并基于所述第二映射关系,在所述目标页面上显示所述业务参数;
所述将所述业务参数与第二预设变量进行映射,得到第二映射关系,包括:
将所述业务参数封装为业务数据对象,并获取所述业务数据对象对应的引用变量;
将所述引用变量与第二预设变量进行映射,得到第二映射关系;
所述基于所述第二映射关系,在所述目标页面上显示所述业务参数,包括:
基于所述第二映射关系和所述第二预设变量获取所述引用变量,并基于所述引用变量获取所述引用变量对应的业务数据对象;
基于所述业务数据对象,获取所述业务参数;
在所述目标页面上显示所述业务参数。
2.根据权利要求1所述的页面启动方法,其特征在于,所述第二预设变量为泛型变量,所述将所述引用变量与第二预设变量进行映射,得到第二映射关系,包括:
将所述引用变量与所述泛型变量进行映射,得到第二映射关系;
所述基于所述第二映射关系和所述第二预设变量获取所述引用变量,包括:
基于所述第二映射关系和所述泛型变量获取所述引用变量。
3.根据权利要求1所述的页面启动方法,其特征在于,所述获取待启动的目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数,包括:
获取在当前页面触发的页面跳转指令;
基于所述页面跳转指令,获取所述目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数。
4.根据权利要求3所述的页面启动方法,其特征在于,还包括:
在所述目标页面的生命周期内,检测所述目标页面更新后的业务参数;
在获取在所述目标页面触发的页面返回指令的情况下,启动所述当前页面,并在所述当前页面上显示所述更新后的业务参数。
5.根据权利要求1所述的页面启动方法,其特征在于,所述基于所述第一映射关系启动所述目标页面,包括:
基于所述第一映射关系,获取所述核心参数;
基于所述核心参数,在当前应用对应的页面集中匹配所述目标页面;
若匹配成功,则启动所述目标页面;
若匹配失败,则显示信息。
6.根据权利要求5所述的页面启动方法,其特征在于,所述若匹配失败,则显示信息,包括:
若匹配失败,则基于所述核心参数确定所述目标页面无法启动的提示信息,并显示所述提示信息;和/或,
若匹配失败,则基于所述核心参数确定多个可选择的页面信息,并显示各所述页面信息。
7.根据权利要求5所述的页面启动方法,其特征在于,所述基于所述核心参数,在当前应用对应的页面集中匹配所述目标页面,包括:
获取承载当前页面的活动Activity对象对应的Activity引用变量;
对所述Activity引用变量进行鉴权;
在所述Activity引用变量鉴权通过的情况下,基于所述核心参数,在当前应用对应的页面集中匹配所述目标页面。
8.一种页面启动装置,其特征在于,包括:
获取模块,用于获取待启动的目标页面启动所需的核心参数,以及所述目标页面所需显示的业务参数;
映射模块,用于通过中间件,将所述核心参数与第一预设变量进行映射,得到第一映射关系,并将所述业务参数与第二预设变量进行映射,得到第二映射关系;
启动模块,用于通过所述中间件,基于所述第一映射关系启动所述目标页面,并基于所述第二映射关系,在所述目标页面上显示所述业务参数;
所述映射模块还用于:
将所述业务参数封装为业务数据对象,并获取所述业务数据对象对应的引用变量;
将所述引用变量与第二预设变量进行映射,得到第二映射关系;
所述启动模块还用于:
基于所述第二映射关系和所述第二预设变量获取所述引用变量,并基于所述引用变量获取所述引用变量对应的业务数据对象;
基于所述业务数据对象,获取所述业务参数;
在所述目标页面上显示所述业务参数。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述页面启动方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述页面启动方法。
CN202310907109.2A 2023-07-24 2023-07-24 页面启动方法、装置、电子设备和存储介质 Active CN116627544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310907109.2A CN116627544B (zh) 2023-07-24 2023-07-24 页面启动方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310907109.2A CN116627544B (zh) 2023-07-24 2023-07-24 页面启动方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN116627544A CN116627544A (zh) 2023-08-22
CN116627544B true CN116627544B (zh) 2023-10-31

Family

ID=87613806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310907109.2A Active CN116627544B (zh) 2023-07-24 2023-07-24 页面启动方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116627544B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595573A (zh) * 2018-04-16 2018-09-28 Oppo广东移动通信有限公司 页面显示方法、装置、存储介质及电子设备
CN110321503A (zh) * 2019-06-13 2019-10-11 北京奇艺世纪科技有限公司 一种web组件缓存方法、装置及电子设备
CN111526152A (zh) * 2016-08-12 2020-08-11 阿里巴巴集团控股有限公司 一种认证方法、设备以及认证客户端
CN111782291A (zh) * 2020-06-12 2020-10-16 京东数字科技控股有限公司 一种测试页面的启动方法和装置
WO2021031688A1 (zh) * 2019-08-22 2021-02-25 苏宁云计算有限公司 业务参数采集方法、装置、计算机设备和存储介质
CN112445545A (zh) * 2020-12-11 2021-03-05 Vidaa美国公司 一种网页应用的启动方法及显示设备
CN114417069A (zh) * 2022-01-21 2022-04-29 杭州联吉技术有限公司 页面数据交互方法、装置及电子设备
CN116112332A (zh) * 2023-01-17 2023-05-12 北京达佳互联信息技术有限公司 页面显示方法、装置、系统、电子设备及存储介质
CN116126603A (zh) * 2022-07-19 2023-05-16 马上消费金融股份有限公司 测试配置方法、装置、计算机设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140344801A1 (en) * 2012-06-01 2014-11-20 Google Inc. Integrating a web application into an operating system
CN113849339B (zh) * 2020-06-28 2023-07-11 华为技术有限公司 恢复应用程序的运行状态的方法、装置及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111526152A (zh) * 2016-08-12 2020-08-11 阿里巴巴集团控股有限公司 一种认证方法、设备以及认证客户端
CN108595573A (zh) * 2018-04-16 2018-09-28 Oppo广东移动通信有限公司 页面显示方法、装置、存储介质及电子设备
CN110321503A (zh) * 2019-06-13 2019-10-11 北京奇艺世纪科技有限公司 一种web组件缓存方法、装置及电子设备
WO2021031688A1 (zh) * 2019-08-22 2021-02-25 苏宁云计算有限公司 业务参数采集方法、装置、计算机设备和存储介质
CN111782291A (zh) * 2020-06-12 2020-10-16 京东数字科技控股有限公司 一种测试页面的启动方法和装置
CN112445545A (zh) * 2020-12-11 2021-03-05 Vidaa美国公司 一种网页应用的启动方法及显示设备
CN114417069A (zh) * 2022-01-21 2022-04-29 杭州联吉技术有限公司 页面数据交互方法、装置及电子设备
CN116126603A (zh) * 2022-07-19 2023-05-16 马上消费金融股份有限公司 测试配置方法、装置、计算机设备及存储介质
CN116112332A (zh) * 2023-01-17 2023-05-12 北京达佳互联信息技术有限公司 页面显示方法、装置、系统、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
针对嵌入式多媒体系统的外存页面重映射;王力生等;《计算机应用研究》(第09期);全文 *

Also Published As

Publication number Publication date
CN116627544A (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
CN108595329B (zh) 一种应用测试方法、装置及计算机存储介质
US20170329746A1 (en) Page component dynamic layout
CN104049986A (zh) 插件加载方法及装置
CN108108219B (zh) 应用程序运行方法、装置、计算机设备和存储介质
CN113407383B (zh) 主备系统切换方法、装置、服务器及主备系统
JP6859518B2 (ja) サーバへの攻撃を防ぐ方法及びデバイス
CN112860457A (zh) 软件开发工具包调用方法、装置、计算机设备和存储介质
CN108089887B (zh) 一种新增页面的启动控制方法及装置
CN111435382A (zh) 一种页面的登录校验方法及终端
CN114157568A (zh) 一种浏览器安全访问方法、装置、设备及存储介质
CN114218072A (zh) 测试脚本生成方法、装置、存储介质及计算机设备
CN111881043B (zh) 页面测试方法、装置、存储介质和处理器
CN109634836A (zh) 测试数据封装方法、装置、设备及存储介质
CN116627544B (zh) 页面启动方法、装置、电子设备和存储介质
CN113326539A (zh) 针对小程序进行隐私数据泄露检测的方法、装置及系统
CN111176986B (zh) 线程脚本调试方法、装置、计算机设备和存储介质
CN109840113B (zh) 一种应用数据处理方法及其设备、存储介质、终端
CN114741628A (zh) 一种网页加载方法及相关装置
CN116997891A (zh) 行为监控方法、装置、终端设备及计算机可读存储介质
CN111240958A (zh) 一种接口测试方法、装置、电子设备及介质
CN106570143B (zh) 一种发送响应对象的方法和装置
CN110990078B (zh) 应用的初始化方法、装置、存储介质及移动终端
CN118101345B (zh) 一种基于数据驱动的自动化渗透测试方法及装置
CN111488230A (zh) 修改日志输出级别的方法、装置、电子设备及存储介质
CN113535704B (zh) 一种扫描方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant