Android 切片软件使用教程,史上最实用的Android切片应用库XAOP使用指南

本文介绍了Android轻量级AOP应用框架XAOP,包括其设计思路、解决的常见问题以及详细的使用教程,如快速点击、权限申请、线程切换等切片功能。通过实例演示了如何集成和使用XAOP,帮助开发者简化代码,提升开发效率。
摘要由CSDN通过智能技术生成

b0d767197b25

项目简介

一个轻量级的AOP(Android)应用框架,囊括了最实用的AOP应用。项目地址: https://github.com/xuexiangjys/XAOP, 喜欢的话,欢迎star支持!

设计原由

在我们平时开发的过程中,一定会遇到权限申请、线程切换、数据缓存、异常捕获、埋点和方法执行时间统计等问题。这些都是非常常见的问题,实现起来也不是很难,不过就是太麻烦了,还会让程序多出很多重复性、模版化的代码。

设计思路

让我最初接触到AOP思想的是JakeWharton的hugo,通过阅读它的源码之后,让我对aspectj这项技术的动态代码编织深深地着了迷。之后我详细研究了aspectj相关的技术,并不断搜集AOP在Android上的典型应用场景,然后通过aspectj这项技术去逐一实现。最后就成就了XAOP这个库。

解决痛点

解决快速点击的问题

解决Android6.0以上动态权限申请的问题

线程自由切换的问题

日志埋点问题

缓存问题(磁盘缓存和内存缓存)

异常捕获处理

业务拦截(登陆验证、有效性验证等)

集成指南

添加Gradle依赖

1.先在项目根目录的 build.gradle 的 repositories 添加:

allprojects {

repositories {

...

maven { url "https://jitpack.io" }

}

}

2.再在项目根目录的 build.gradle 的 dependencies 添加xaop插件:

buildscript {

···

dependencies {

···

classpath 'com.github.xuexiangjys.XAOP:xaop-plugin:1.1.0'

}

}

3.在项目的 build.gradle 中增加依赖并引用xaop插件

apply plugin: 'com.xuexiang.xaop' //引用xaop插件

dependencies {

···

//如果是androidx项目,使用1.1.0版本及以上

implementation 'com.github.xuexiangjys.XAOP:xaop-runtime:1.1.0'

//如果是support项目,请使用1.0.5版本

implementation 'com.github.xuexiangjys.XAOP:xaop-runtime:1.0.5'

}

4.在Application中进行初始化

XAOP.init(this); //初始化插件

XAOP.debug(true); //日志打印切片开启

XAOP.setPriority(Log.INFO); //设置日志打印的等级,默认为0

//设置动态申请权限切片 申请权限被拒绝的事件响应监听

XAOP.setOnPermissionDeniedListener(new PermissionUtils.OnPermissionDeniedListener() {

@Override

public void onDenied(List permissionsDenied) {

// 权限申请被拒绝的处理

}

});

//设置自定义拦截切片的处理拦截器

XAOP.setInterceptor(new Interceptor() {

@Override

public boolean intercept(int type, JoinPoint joinPoint) throws Throwable {

XLogger.d("正在进行拦截,拦截类型:" + type);

switch(type) {

case 1:

//做你想要的拦截

break;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值