[发明专利]一种基于注解的Android注入框架实现方法有效
申请号: | 201810204531.0 | 申请日: | 2018-03-13 |
公开(公告)号: | CN108469955B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 李明远;马晓光;左英楠;李童 | 申请(专利权)人: | 山东超越数控电子股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜鹏 |
地址: | 250100 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 注解 android 注入 框架 实现 方法 | ||
本发明公开了一种基于注解的Android注入框架实现方法,属于计算机软件技术领域,依赖APT工具,将源程序中的注解的上下文提取出来,利用上下文的信息来实现注解中的语义,给成员变量或方法添加注解,并在注解中描述依赖关系,完成相关依赖的绑定。本发明利用注解执行视图、监听器进行绑定的框架,不仅可以加快开发效率,而且能够提高代码的可读性,代码风格也会显得更加优雅,可以在大多数Android项目中应用。
技术领域
本发明涉及计算机软件技术领域,尤具体地说是一种基于注解的Android注入框架实现方法。
背景技术
依赖注入一直是软件工程中的重要概念,随着移动端开发越来越流行,Android开发流程中已经衍生出了很多框架,使用框架的目的一般是加快开发速度,而对于基于注解的依赖注入框架,注解的形式相比代码而言,更加简洁,因而在Android开发框架里经常被采用。
Android UI开发的过程中,常常需要对视图、监听器进行绑定,利用注解执行视图、监听器进行绑定的框架,不仅可以加快开发效率,而且能够提高代码的可读性,代码风格也会显得更加优雅。但根据调查,在国内还没有此类功能的开源框架,也没有找到详细的文档介绍这种技术;在国外,有一些开源的实现方案,例如ButterKnife、androidannotations等,完成度都很高,可以实现大部分视图和时间的绑定,但覆盖的功能不够全面,APP需要对重要权限进行申请才能够使用,从而导致存在冗余的代码,既有的框架很难去添加这些功能,这些框架本身就不够完善,只能依赖其他框架去完成这些事情。
发明内容
本发明的技术任务是针对以上不足之处,提供一种基于注解的Android注入框架实现方法,该依赖注入框架利用注解执行视图、监听器的绑定,可以加快开发效率,提高代码可读性。
一种基于注解的Android注入框架实现方法,依赖APT工具(APT:AnnotationProcessing Tool,是一种处理注解的工具),将源程序中的注解的上下文提取出来,利用上下文的信息来实现注解中的语义,给成员变量或方法添加注解,并在注解中描述依赖关系,完成相关依赖的绑定;
其具体实施步骤如下:
S1:解析源码注解,获得注释包含信息;
S2:遍历每个注解的上下文,获取每个注解所在类的绝对路径;
S3:根据所在类的绝对路径进行分类,将所有注解上下文映射到Map中;
S4:构造辅助类实现自定义注解中蕴含的语义,添加构造器;
S5:在构造器中添加注解上下文所包含的信息,并在指定位置生成.java文件;
S6:进行视图的绑定以及监听器的添加。
优选的,框架在实现注解语义时,需要进行代码生成,采用JavaPoet框架进行代码生成,可以很方便地处理注解实现代码生成。
优选的,借助Bintray托管代码及框架,可以使框架更方便地被引用。
进一步的,框架实现过程中,具有四个核心类:
BlossomProcessor类,框架的核心解析器,用于抽离事先定义好的注释的上下文;
TypeElementContext类,用于存储所有的注解以及他们的上下文;
RedundantTiechecker类,用于校验注解的正确性,确保同一个注解不会多次绑定同一个ID;
ProcessMessager类,用于输出框架给使用者的提示,为不同场景构建不同的提示消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东超越数控电子股份有限公司,未经山东超越数控电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810204531.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种HMI可视化系统
- 下一篇:图像形成装置、管理服务器和信息处理方法