[发明专利]应用程序动态化方法、装置、电子设备在审
申请号: | 202010568000.7 | 申请日: | 2020-06-19 |
公开(公告)号: | CN111880801A | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 董尚先;李会超;李松涛;刘俊龙;杨超;李鑫 | 申请(专利权)人: | 北京三快在线科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/445;G06F16/958;G06F8/38 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 任亚娟 |
地址: | 100083 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 动态 方法 装置 电子设备 | ||
1.一种应用程序动态化方法,其特征在于,包括:
在电子设备处,通过Flutter应用程序加载第一字符串与所述Flutter应用程序的运行时环境中预设可识别符号的第一映射关系,并缓存所述第一映射关系;
在所述电子设备处,通过运行所述Flutter应用程序下载所述Flutter应用程序的更新代码的描述信息,所述描述信息由字符串构成,用于通过所述字符串描述所述更新代码中的页面结构和事件处理逻辑;
通过运行所述Flutter应用程序,构造所述描述信息中各第二字符串与自定义符号的第二映射关系,并在所述电子设备处缓存所述第二映射关系;
在所述Flutter应用程序初始化预设页面时,基于所述电子设备缓存的所述第一映射关系和/或所述第二映射关系,对所述描述信息包括的字符串进行映射,并根据进行映射得到的符号构建动态页面,以及,构建所述动态页面的事件处理逻辑,并将构建的所述动态页面和所述事件处理逻辑进行绑定;
在所述电子设备处,执行所述动态页面。
2.根据权利要求1所述的方法,其特征在于,所述通过运行所述Flutter应用程序下载所述Flutter应用程序的描述信息的步骤之前,还包括:
对所述Flutter应用程序的更新代码进行分析,得到所述更新代码对应的抽象语法树;
通过领域特定语言描述所述抽象语法树,生成所述更新代码的描述信息。
3.根据权利要求1所述的方法,其特征在于,所述构造所述描述信息中各第二字符串与自定义符号的第二映射关系的步骤,包括:
构造与所述描述信息中第二字符串对应的模拟元类,并构造各模拟元类的构造方法;
建立所述模拟元类和所述第二字符串的映射关系,作为第二映射关系;其中,所述第二映射关系中包括:所述第二字符串对应的模拟元类和所述模拟元类的构造方法。
4.根据权利要求1所述的方法,其特征在于,所述第一字符串包括:所述Flutter应用程序开发环境中的系统符号或全局符号,所述第一字符串与所述Flutter应用程序的运行时环境中预设可识别符号的第一映射关系,包括:
所述第一字符串对应的类别名、方法名以及所述方法名对应的构造方法。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述在所述Flutter应用程序初始化预设页面时,基于所述电子设备缓存的所述第一映射关系和/或所述第二映射关系,对所述描述信息包括的字符串进行映射,并根据进行映射得到的可识别符号构建动态页面,以及,构建所述动态页面的事件处理逻辑的步骤,包括:
在所述Flutter应用程序初始化预设页面时,获取所述预设页面的描述信息,其中,所述描述信息包括:描述页面结构的字符串和描述事件处理逻辑的字符串;
依序确定所述预设页面的描述信息中的字符串作为当前字符串,并基于所述电子设备缓存的所述第一映射关系和/或所述第二映射关系,对所述当前字符串进行映射,得到由所述运行时环境中可识别符号描述的页面结构和事件处理逻辑。
6.根据权利要求5所述的方法,其特征在于,所述基于所述电子设备缓存的所述第一映射关系和/或所述第二映射关系,对所述当前字符串进行映射,得到由所述运行时环境中可识别符号描述的页面结构和事件处理逻辑的步骤,包括:
在所述当前字符串为第一字符串时,基于所述电子设备缓存的所述第一映射关系,对所述当前字符串进行映射,获得所述当前字符串的构造方法,并通过调用预设方法执行所述构造方法,以构建所述当前字符串对应的系统对象;
在所述当前字符串为第二字符串时,基于所述电子设备缓存的所述第二映射关系,对所述当前字符串进行映射,获得所述当前字符串对应的模拟元类,并进一步获得所述模拟元类的构造方法,之后,通过调用所述预设方法执行所述模拟元类的构造方法,以构建所述当前字符串对应的自定义对象。
7.根据权利要求6所述的方法,其特征在于,所述预设方法用于根据输入的参数和构造方法名称,调用与所述构造方法名称对应的方法实现。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京三快在线科技有限公司,未经北京三快在线科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010568000.7/1.html,转载请声明来源钻瓜专利网。