首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AOP架构的简单使用

AOP架构的简单使用

作者头像
老马的编程之旅
发布于 2022-06-22 01:52:37
发布于 2022-06-22 01:52:37
39110
代码可运行
举报
文章被收录于专栏:深入理解Android深入理解Android
运行总次数:0
代码可运行

手机App中,用户行为统计是非常重要的一部分,如何做到用户行为的统计呢,比较笨的方法是在需要统计的行为,例如朋友圈,语音等的方法的代码中,打印Log,但这样做非常的麻烦,而且工作量很大,那有没有更好的方法呢?答案就是通过AOP,那什么是AOP? AOP是指 Aspect oriented programming,也就是面向切面编程,接下来我将展现一下如何使用AOP进行拥护行为统计,以下是我的项目目录,这里需要一个aspectJrt的jar包。

首先,我们需要编写一个注释类BehaviorTrace,用来标识方法是否要被追踪,统计

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//用来标识方法是否要被追踪,统计
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface BehaviorTrace {
    String value();
}

接着就给我们需要统计的方法进行注释
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    @BehaviorTrace("摇一摇")
    public void play1(View view) {

        Log.i("MainActivity", "摇一摇被使用了");
        SystemClock.sleep(30);

    }
    @BehaviorTrace("语音")
    public void play2(View view) {

        int beginTime = TimeUtils.begin();
        SystemClock.sleep(30);
        /*TimeUtils.end(beginTime, "play2");*/

    }

    @BehaviorTrace("视频通话")
    public void play3(View view) {

        int beginTime = TimeUtils.begin();
        SystemClock.sleep(30);
        /*TimeUtils.end(beginTime, "play3");*/

    }

    @BehaviorTrace("商城")
    public void play4(View view) {

        int beginTime = TimeUtils.begin();
        SystemClock.sleep(30);
        /*TimeUtils.end(beginTime, "play4");*/

    }

    public void jumpToFriend(View view) {
        Intent i = new Intent(this,FriendActivity.class);
        startActivity(i);

    }

}

编写用户行为切面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//用户行为的切面
@Aspect
public class BehaviorAspect {
    // 带有BehaviorTrace的方法构成了这个切面
    @Pointcut("execution(@com.example.aopdemo.BehaviorTrace * *(..))")
    public void annoHaviorTrace() {

    }

    @Around("annoHaviorTrace()")
    public Object weaveJoinPoint(ProceedingJoinPoint joinPoint) throws Throwable {
        MethodSignature methodSignature = (MethodSignature) joinPoint
                .getSignature();
        // 类名
        String className = methodSignature.getDeclaringType().getSimpleName();
        // 方法名
        String mtdName = methodSignature.getName();
        // 功能名
        BehaviorTrace behaviorTrace = methodSignature.getMethod()
                .getAnnotation(BehaviorTrace.class);
        String fun = behaviorTrace.value();

        long begin = System.currentTimeMillis();
        Object result = joinPoint.proceed();
        //方法执行后
        long duration = System.currentTimeMillis() - begin;
        Log.d("AOP", String.format("功能:%s功能,%s的%s方法执行,耗时:%d ms ", fun,
                className, mtdName, duration));

        return result;
    }
}

然后运行项目,当使用相应方法时,Log中打印出来的哪个方法被调用

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
浅谈视频加密技术和防翻录技术有哪些?
视频加密是指对视频数据进行保护,防止用户提取出视频的原始数据,防止未经授权的人随意观看,防止用户使用录屏软件进行录制。最简单的地址型的加密,比如混淆地址加密,这种是容易实现的方式,当然也是最简单最容破解的方案。这种方案,是非常容易实现,成本最低的方案,对于视频安全性要求并不是特别高的用户,一般用的是这种。一般在教育培训和个人视频创作者使用视频加密比较多,尤其教育培训对于视频加密技术比较有要求,一般的加密技术已经不能满足了,由于其不能防翻录、防破解,下面来了解一下常见的视频加密方法和防翻录技术。
超时代
2020/08/28
4.1K0
培训班视频加密如何选择?
最近培训班视频加密的咨询越来越多,视频教学给广大老师和学生带来了便捷,但是老师辛辛苦苦录制的视频如何得到有效保护呢?通过小编团队多年视频加密经验,特别推出适合教育机构的视频加密一机一码产品,操作简单,易学易用,既可以在线使用也可以离线使用。
点量小崔
2018/09/04
1.3K0
适合中小教育机构及个人的视频加密一机一码软件
很多视频制作者都是个人创业者或者是刚开始创业的小的教育机构,可能还没有自己的网站或app,但是有一些自有的课程视频卖给学员观看,又不想被恶意传播,那么视频加密一机一码软件最合适了。这些人很可能是一人多职,而且对于计算机的熟悉度也不够,所以操作简单对于使用者来说是非常重要的。
点量小崔
2018/08/17
1.3K0
适合中小教育机构及个人的视频加密一机一码软件
培训课件、教育视频等如何实现全平台加密?
加密首先这些培训的课件和视频是如何使用的,一般分两种:一种自己有平台或app,学员在线观看;一种是自己有视频,没有平台或app,加密视频卖给学员。下面就两种来分析一下:
点量小崔
2019/02/20
3.3K0
培训课件、教育视频等如何实现全平台加密?
如何从硬件和软件两方面实现视频防翻录
视频防翻录是视频加密必不可少的,而翻录可分为软件翻录和硬件翻录两种。软件翻录主要是指一些录屏软件,硬件则是指采集卡等物理硬件的翻录。那针对两种不同的形式,有哪些防止视频翻录的方法可用呢?分别从软件和硬件方面来介绍一下:
点量小崔
2020/07/20
2.6K0
视频加密软件是如何实现全方位防录屏的?
现在很多自有版权视频,发到网上,很容易被盗版,最常见的就是录屏,自有版权视频防录屏可以从几个方面下手,点盾云视频加密软件提供的解决方案是三重防护:黑名单防录屏,智能防翻录技术,和学员标识随机水印。在防录屏上提供了比较好的方案,加大了录屏的困难。从多重手段防范,并且软件可以随时更新升级。
点量小崔
2019/08/27
5.6K0
视频加密软件是如何实现全方位防录屏的?
【方案】专业视频网站H5页面如何解决视频加密问题?
网页端观看视频操作简单方便,打开网页就可以直接观看,无需安装任何程序,很多在线教育机构都开辟了网页端的在线观看业务,网页端观看视频如何实现视频加密播放呢?网页端视频加密又可以实现哪些功能?
点量小崔
2020/03/25
1.6K0
视频加密一机一码真相来了!线上教育“暑”你最安全!
视频加密一机一码技术是对某些自有版权的视频进行加密处理,用户只有在一定的条件下才能获得视频的观看权。比如对于教育视频加密后,只有学员才能观看,每个学员都有自己的唯一账号并且绑定一台硬件。或者说设定在一定的时间内可以无限次观看,还有就是不限制时间但是总的观看次数是有限制。这样的好处既可以保护视频所有者的利益,也可以让视频使用者取得更好的学习效果。而随着国家对于知识产权和版权的保护不断加强,以及各培训行业的日益发展,最终竞争的都是产品的差异化,也就是视频内容的不同,这个是吸引用户的根本,所以做好视频加密一机一码技术处理就非常有必要。这也是最近几年视频加密行业发展越来越快的动力之一。在长期的工作中,点量发现很多潜在需要视频加密软件和视频加密技术的朋友,存在各种各样的问题,比如:视频加密正怎样才能不改变格式、哪个视频加密软件好用?在线视频如何加密防止别录屏?移动手机端视频可以加密吗?等等其他问题,其实这些都可以从视频加密原理的角度做些解释。
点量小崔
2018/06/27
2.1K0
视频加密一机一码真相来了!线上教育“暑”你最安全!
了解一下视频加密工具有哪些加密技术呢?
视频录屏是视频被盗版最常见也是最难防范的一种方式,让很多为此吃过亏的企业和个人痛心疾首。一个摄像头就可以让自己呕心沥血的成果被复制传播,为别人做了嫁衣裳。
点量小崔
2019/07/16
1.2K0
了解一下视频加密工具有哪些加密技术呢?
关于微信小程序播放视频加密技术的解答
现在小程序应用越来越广泛,视频播放加密功能需求也越来越多,很多人咨询小程序播放视频可不可以保护视频不被盗用呢?小编掌握的加密技术目前能实现在线视频加密、离线视频加密、exe视频加密、H5、小程序视频加密。视频一次加密后,可以在网站端、移动端均能播放。
点量小崔
2018/08/03
4.1K1
关于微信小程序播放视频加密技术的解答
视频加密软件的几种课程激活模式详解
线上教育、视频课程越来越受广大师生的认可,暑假降至,又是一个火热的招生季。面对如火如荼的线上线下教育市场,教育机构或老师对自己教学视频的版权都提起了足够的重视。视频加密作为教育课程推广过程中的重要一环,备受重视,市面上的视频加密软件也参差不齐,学员的使用情况也各不相同,下面就给大家总结一下视频加密软件的几种常用的授权模式:
点量小崔
2019/06/28
9040
视频加密软件的几种课程激活模式详解
网页视频加密成熟方案简介【H5/M3U8/Hls】
视频网站运营者都很关注自己网站视频的版权,怎样防止下载,防止传播,防止翻录等功能,今天给大家介绍一个成熟方案:
点量小崔
2020/05/08
3.1K0
视频加密怎么播放_win播放器加密视频
视频加密方式大多数是由三部分组成的:加密客户端、账号后台管理系统以及加密视频播放器。具体的实现过程是视频所有者利用加密客户端对视频进行加密,然后把视频传给视频购买者;而在加密授权的时候,对视频进行播放次数、播放日期,绑定硬件等设置,购买者拿到视频后可以实现在手机、电脑、平板等设备观看 视频加密可以实现哪些功能呢? 1.视频加密最主要的功能是对视频加密,越安全越可靠,点量视频加密一机一码可以实现5层加密 2.客户专属私有化协议,不易被破解 3.防止多种软硬件录屏技术 4.视频盗用可追查 5.统计视频日志和报表等 6.可定制播放器,播放器端可直接选择管理课程 7.视频播放过程可插入问答、动画、广告等 8.可批量加密视频,快速高效 9.一键制作试播文件 10.绑定硬件,防止恶意传播 11.可设置加密视频有效期,视频过期可自毁! 12 可定制个性化需求…
全栈程序员站长
2022/08/04
8.4K0
在线教育平台加密技术详解
知识付费已经成为网络主流。网校蓬勃发展,会玩互联网的讲师们获利丰厚,但我们也不难发现,随便搜索一下,都会有“新东方课程破解”、“泸江网校课程破解”、“中公网校课程破解”、“233网校课程破解”及“金程网校课程破解”等知名网校的相关信息,如某些有名的课程,直接搜索也会有若干条相关信息。
点量小崔
2018/12/27
3K0
视频加密是否可实现H5页面加密
点量小编在长期的和客户接触中发现,很多用户希望对视频加密后,可以在手机上不安装任何插件就可以播放。这种加密方式是否有实现方案呢?大答案当然是肯定的,其实是加密的一种常见方式,H5加密。那么使用这种方式可以实现哪些加密功能呢? 1)手机浏览器下(包括QQ、微信)打开即可播放。 2) 限制域名和网址,必须在某域名下才可以播放,下载后和转播无法播放。 3 )支持清晰度切换。 4) 支持字幕功能、支持宽高比设定、支持播放列表。 5) 支持预览图显示。 6 )支持倍速播放。 7 )支持全屏切换。 8 )
点量小芹DolitQin520
2019/03/22
2.2K0
视频加密是否可实现H5页面加密
视频加密一机一码功能是如何实现手机电脑播放全加密的?
视频加密方式大多数是由三部分组成的:加密客户端、账号后台管理系统以及加密视频播放器。具体的实现过程是视频所有者利用加密客户端对视频进行加密,然后把视频传给视频购买者;而在加密授权的时候,对视频进行播放次数、播放日期,绑定硬件等设置,购买者拿到视频后可以实现在手机、电脑、平板等设备观看
点量小崔
2019/05/15
2.3K0
超实用的在线教育私有化视频加密解决方案
今天给大家推荐的是一款私有化的视频加密解决方案,可以提供高强度视频加密保护,且能够实现多种计费模式.确保只有经过授权的付费用户才能完整运行程序,可控制试播时长.支持android/ios平台.可完整定制,可sdk嵌入,易于实施的视频加密 解决方案。相对于国内部分厂商的平台化方案,私有化加密方案不同客户采用不同的加密算法和加密思路,从而可以提升加密的安全性!
点量小崔
2018/07/03
1.8K0
超实用的在线教育私有化视频加密解决方案
在线视频加密功能解析
在线视频加密可以防范视频所有者辛苦录制的视频课程被恶意盗用,在线视频加密可以实现哪些功能呢?
点量小崔
2018/12/04
8.9K0
在线视频加密功能解析
教育行业音视频加密经验分享
最近小编经常接到一些幼儿园、中小学教育、职业教育等教育机构的音视频加密咨询,由于对加密技术不是很了解,很容易被价格引入误区。加密就像一把锁,几块钱的到几百几千的锁都有,选择什么样的锁,就看您锁多贵重的东西了。加密技术目前市场也是参差不齐,选择什么样的加密方案很重要,很多教育视频都是老师自己辛辛苦苦录制的,如何有效保护自己音视频的私有版权呢?在这里小编总结一下音视频加密需要注意的地方
点量小崔
2018/08/31
2.2K0
教育行业音视频加密经验分享
flash退出舞台,网站视频加密该如何做?
随着谷歌等浏览器不在支持flash,网站视频课程加密也必须考虑新的方案,而不能在使用原来的是flash加密,那么替代方案是什么呢?能不能达到和flash一样的加密效果?毕竟对于视频加密来说安全性和便利性是比较重要的,在给用户良好的体验基础上,安全性是关键了。
点量小芹DolitQin520
2021/02/22
1.2K0
flash退出舞台,网站视频加密该如何做?
推荐阅读
相关推荐
浅谈视频加密技术和防翻录技术有哪些?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验