[发明专利]一种按钮对象自动扫描方法及系统有效
申请号: | 201710552661.9 | 申请日: | 2017-07-07 |
公开(公告)号: | CN107491298B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 张磊;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;G06F8/38;H04N21/431;H04N21/478 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 按钮 对象 自动 扫描 方法 系统 | ||
本发明提供一种按钮对象自动扫描方法及系统,所述的方法包括:S1,通过将礼物面板的可扩展标记语言XML布局文件加载于内存,解析得到礼物面板对应的视图对象;S2,采用递归扫描算法对礼物面板对应的视图对象进行自动扫描,获取礼物面板中所有的按钮对象。本发明通过将礼物面板的布局文件加载到内存,得到礼物面板的视图对象,然后采用递归扫描算法对视图对象进行自动扫描,得到礼物面板中的所有按钮对象,不需要每次都重复调用同样的函数方法对礼物面板中的按钮对象进行手动获取,提高了开发效率和代码结构的简洁性和可维护性。
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种按钮对象自动扫描方法及系统。
背景技术
在直播软件的开发过程中,通常会涉及到礼物面板,礼物面板上通常有很多按钮用于触发不同的业务逻辑。在采用不同的按钮进行业务触发时,需要找到对应的按钮。
传统是通过调用findViewById函数的方式来找到对应的按钮,通常是通过按钮的ID号找到对应的按钮。当礼物面板上的按钮数量越来越多的时候,采用这种方式要找到礼物面板上所有的按钮对象,就需要重复多次调用findViewById函数。这样完全相同的代码多次调用,会导致代码结构冗余,随着按钮数量的增多,代码结构的冗余性越大很容易导致后期该代码难以维护和扩展。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的按钮对象自动扫描方法及系统,克服了采用多次重复调用相同的方法获取礼物面板中所有按钮对象时代码的冗余性。
根据本发明的第一个方面,提供了一种按钮对象自动扫描方法,包括:
S1,通过将礼物面板的可扩展标记语言XML布局文件加载于内存,解析得到礼物面板对应的视图对象;
S2,采用递归扫描算法对礼物面板对应的视图对象进行自动扫描,获取礼物面板中所有的按钮对象。
本发明的有益效果为:通过将礼物面板的布局文件加载到内存,得到礼物面板的视图对象,然后采用递归扫描算法对视图对象进行自动扫描,就能够自动扫描得到礼物面板中的所有按钮对象,而不需要每次都重复调用相同的函数方法对礼物面板中的按钮对象进行手动获取,提高了开发效率和代码结构的简洁性和可维护性。
在上述技术方案的基础上,本发明还可以作如下改进。
进一步的,所述步骤S1进一步包括:
采用Android系统内置的布局加载器对礼物面板的XML布局文件进行加载,并对所述XML布局文件解析得到礼物面板对应的视图对象。
进一步的,所述步骤S1进一步包括:
调用布局加载器中的inflate方法传入礼物面板的视图ID;
根据礼物面板的视图ID找到对应的礼物面板的XML布局文件;
对所述礼物面板的XML布局描述文件进行解析,得到礼物面板的视图对象。
进一步的,所述礼物面板的视图对象为视图元素或者ViewGrop容器对象,所述ViewGrop容器对象包括至少一个视图对象。
进一步的,所述步骤S2进一步包括:
S21,判断礼物面板对应的视图对象是否为按钮对象或者ViewGrop容器对象,其中,所述按钮对象属于视图元素;
S22,若礼物面板对应的视图对象为按钮对象,则将该按钮对象存储于按钮集合中;
S23,若礼物面板对应的视图对象为ViewGrop容器对象,则依次取出ViewGrop容器对象中的每一个视图对象,并对每一个视图对象重复执行步骤S21,直到获取到礼物面板中的所有按钮对象,并将所有按钮对象存储于按钮集合中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710552661.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自动抢红包的方法
- 下一篇:面向多源软件开发数据融合的开发者画像建模方法