首页
沸点
课程
APP
AI用量
作品广场
专家标注
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
四小汐的Android乐园
订阅
Dopedada
更多收藏集
微信扫码分享
微信
新浪微博
QQ
62篇文章 · 0订阅
歌词显示控件的实现下——自定义View
在上篇文章中呢,分享了关于lrc歌词文件的解析方法,根据歌词文件格式,解析出对应实体类。但是,怎样才能让让自己的音乐播放器的歌词像网易云音乐一样,随音乐(歌词时间)滚动、当前歌词高亮、其他歌词渐变等效果呢? 接下来我想和大家分享的就是如何通过自定义View实现炫酷的LyricV…
Android-隐私合规检测SDK
背景 从去年开始,工信部对APP个人隐私要求越来越多,之后各大应用市场也开始要求,有违规情况的会导致APP下架或者无法上架。 技术方案简介 方案很简单,动态代理+反射hook系统服务,拦截方法调用堆栈
通过拦截 Activity的创建 实现APP的隐私政策改造
序言 最近因为政策收紧,现在要求APP必须在用户同意的情况下才能获取隐私信息。但是很多隐私信息的获取是第三方SDK获取的。而SDK的初始化一般都在application中。由于维护的项目多,如果贸然改
这次自定义不一样的进度条
这次新项目来了一个不同寻常进度条,效果图如下,废话不多说,直接从进度条背景、虚线圆弧、渐变背景圆弧、进度数值显示、文字介绍、进度条当前点本篇主要涉及到的方法如下:drawArc、drawCircle、
Android应用启动流程分析
网上看过很多Activity启动过程的源码解析,很多文章会贴上一大段代码,然后从startActivity()函数开始深究整个源码的调用栈。个人感觉这类文章代码细节太多,反而容易迷失在源码调用之中,从而忽略了Activity启动过程的本质。所以本文就简单地定性地对Activit…
简单点,基于Ultra-Pull-To-Refresh的下拉刷新上拉加载再封装
开始前总是要有废话的 很早之前,上拉加载下拉刷新这种交互方式一经推出,就火炸了。如果你在两三年前就接触过android开发,你一定听说过PullToRefreshListView这个开源框架,使用起来很简单,首先感谢伟大的作者开源这么优秀的作品,但是对于新手来讲,这个框架有些过…
Android工程gradle详解
版本的统一管理 当我们的工程中有许多module的时候,分开管理编译版本,minsdk将会是一件很麻烦的事,因为一个library的改动,可能会影响到其他module。这时我们就需要对所有的版本进行统一的管理,管理的方式有两种: rootProject 我们可以把一些需要用的字…
使用 Android Studio Lint 去除无用、错误、性能不友好的代码
Lint 是优秀程序员之友,检测潜在问题,性能优化,去除无用资源必备!
Android全套动画使用技巧
Animation框架定义了透明度、旋转、缩放和位移几种常见的动画,控制的整个View,实现原理是每次绘制视图时View所在ViewGroup中的drawChild函数获取该View的Animation的Transformation值,然后调用canvas.concat(tra…
恶意用户识别?——Java 层反模拟器、反Hook、反多开技巧
近两年,Android端的虚拟化技术和群控技术发展急速,带来很多好玩产品和便利工具。但是作为App开发者就头疼了,恶意用户(比如不文明用户、比如刷单)利用这些技术,作恶门槛低得不知道哪里去。我们需要思考怎么识别和防御了。 下文介绍一些简单但是有效的恶意用户识别(方便后续封号)方…