美文网首页
Android中使用AOP编程实现登录检查

Android中使用AOP编程实现登录检查

作者: 七月份的Leo | 来源:发表于2019-09-28 23:12 被阅读0次

    AOP即面向切面编程,实现aop的框架很多,这里选用AspectJ,具体介绍和区别参见网上其他文章,这里仅做使用过程的记录~

    这里选用的是第三方开源库 AspectJX,这是一个基于AspectJ并在此基础上扩展出来可应用于Android开发平台的AOP框架,可作用于java源码,class文件及jar包,同时支持kotlin的应用。github地址 :https://github.com/HujiangTechnology/gradle_plugin_android_aspectjx

    注意:参照官方文档上写的引入方式有个坑,会提示找不到资源,是无法成功引入的,以2.0.6版本为例:

    需要把项目根目录下的build.gradle里的依赖

     classpath 'com.github.franticn:gradle_plugin_android_aspectjx:2.0.6'

     替换为

     classpath'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.6'

    其他步骤参照官方文档就可以成功引入啦~

    接下来就可以进入正题了,首先说明AOP的用途很广泛,我这里只是简单记录如何使用,所以代码精简的不能再精简了......

    以常用的登录检查为例:分三步走

    第一步:定义一个注解。这个没什么可讲的

    1.定义注解

    第二步:编写切面,定义切入点及拦截逻辑。

    这里需要注意的是定义切入点的时候括号里的语法问题,一定不能错

    2.定义切面、切入点

    第三步:在需要检查是否登录的方法上添加刚才定义的注解即可

    3.简单使用

    至此,当调用 testMethod方法的时候,就会执行定义的拦截逻辑代码了。

    测试结果如下

    登录 未登录

    可以看到,当未登录时,testMethod方法是被拦截了,没有继续执行的,而已登录时则是正常执行。这就完成了最简单的aop使用了。

    相关文章

      网友评论

          本文标题:Android中使用AOP编程实现登录检查

          本文链接:https://www.haomeiwen.com/subject/foxxpctx.html