自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

北京流年

业精于勤,荒于嬉.行成于思,毁于随

  • 博客(212)
  • 资源 (12)
  • 收藏
  • 关注

原创 android自定义view之星星动画

先上效果图其实上边效果分为几个部分,一个部分是多个小星星四处扩散,第二个部分是一个小星星从小变大,还有一个是实心圆的动画。代码如下第一:所有的小星星动画public class StarView extends View { private Paint mPaint; private Bitmap mStar; // 星星图片 private ...

2019-09-26 11:56:01 921

原创 android设计模式之适配器模式

早期使用listview的时候,就需要设置adapter,但是当时一直不明白为何要叫adapter?而且也觉得我们自己设置布局,我们自己绑定数据,就能显示到列表上,觉得写的很神奇。直到后来有人跟我说了适配器模式。我才渐渐明白…定义将一个类的接口,转变为客户希望的另外一个类的接口。适配器模式使得原本因接口不兼容不能在一起功能的类可以在一起工作。其实用大白话来解释就是:我已经定义了标准,...

2018-12-28 22:04:41 173

原创 android 自定义view缩小放大拖动小人

效果图如下:刚开始产品说要做这个效果的时候,一脸懵逼,光是围绕屏幕中心原点动态添加view就让人头疼。况且还要进行缩放和拖动,小人头上还有个标志位,然后百度找缩放的例子,找了一圈之后,慢慢的发现效果图需要用到的几个技术点不过是如下 1:如何对所有的view进行缩放? 2:对view进行拖动? 3:小人+头顶的标志如何实现走动效果?并且一直围绕建筑物走动? 4:如何动...

2018-07-01 11:33:11 5650

原创 android 自定义view之掷骰子小人走动的游戏

最近产品经理出了一个幺蛾子,说要通过一个小游戏来吸引用户获取奖励,当时过需求的时候,内心何止是一万个草泥马奔腾而过,简直是一亿个草泥马。过需求之后就冷静下来讨论该怎么实现,做完之后发现,其实也没有那么难!总的效果如下:因为csnd上传最大不能超过2M所以把gif图放到github上了效果图仔细分析需求中的几个难点  1.小人走动效果  2.路线布局  3.小人走动的四个方向  4.动画效果:红包小...

2018-06-10 12:29:20 2481

原创 android 仿照支付宝蚂蚁森林

本文在大神的基础上添加了修改了一些功能先说下思路1.如何让小球不重叠分布?2.小球上下移动这个可以具体看原文作者分析本文主要分析第一点刚开始想法是,每次随机生成一个x,y位置,但是这保证不了小球重叠的问题。然后受到原文作者启发,其实我们可以固定前面6个小球的位置,让它们处于屏幕中心,然后剩余的4个小球再随机的从我们定义好的位置中获取。这样就能保证10个小球既不会重叠...

2018-05-13 12:11:06 4487

原创 android 最简单的饼状图

录制的gif图有点渣,但是实际效果还是可以的。因为项目需要绘制饼状图,就很简单的饼状图带一个选中的效果,本来也想使用MPAndroidChart这个库的,但是觉得就实现一个效果引用整个库,对于一个有态度的程序员来说,内心是拒绝的(我不是装逼的人),所以自己自定义了一个,写的不好仅供参考。要做这么一个效果,我们应该分几步来写,1.先做一个静态的饼状图2.然后加上属性动画,有一个绘...

2018-03-20 18:07:47 6020 6

原创 com.intellij.openapi.externalSystem.model.ExternalSystemException (no error message)

com.intellij.openapi.externalSystem.model.ExternalSystemException (no error message)

2024-04-12 19:55:34 138

原创 python执行脚本的时候获取输入参数

当我们执行脚本的时候,通常都会执行 python test.py -i xxx -o xxx,这里的 -i 和 -o 都是输入参数,这到底是怎么传递的呢?最后执行代码的时候 python xxx.py -i aaa -o bbb。这样就会输出aaa 和 bbb。

2024-01-26 18:09:20 361

原创 python 获取所有的类,以及获取四大组件

【代码】python 获取所有的类,以及获取四大组件。

2023-12-13 18:27:13 110

原创 android jni通过反射打印java类的所有方法

jni打印java类的所有方法

2023-11-17 11:38:05 338

原创 解决 The option ‘android.useNewApkCreator‘ is deprecated.

An exception occurred applying plugin request [id: 'com.android.application']> Failed to apply plugin 'com.android.internal.application'. > The option 'android.useNewApkCreator' is deprecated. The current default is 'true'. It was removed in

2023-11-03 17:28:28 297

原创 windows编译ollvm笔记

Windows10编译ollvm全过程

2023-10-16 16:16:25 474 1

原创 c++基础二

字符串,这里Flavio只有6个字符,却用了一个数组长度是7的字符串数组,是因为字符串最后一个字符必须是0,它是字符串的终止符号,我们必须给它留个位置。当我们用C编程时,它对我们有很大的帮助,它是C标准的一部分,就像语言本身,编译器和标准库一样。这只是一个开始,我提到了这两个操作,是因为它们是最常见的两个,预处理器能做的事情还有很多。另外一种常量的定义方式,不需要添加类型,也不需要使用=符号,并且可以省略末尾的;sizeof运算符返回,你传入的操作数的大小,也可以传入变量,甚至是类型也可以。

2023-08-16 11:19:56 86

原创 frida native hook简单demo

注意:最开始的时候,写的demo,一直不能hook,因为我在activity页面初始化的时候就调用so里面的方法了,后来我发现需要加一个按钮,然后点击按钮再去调用so里面的方法,这个时候就能hook了。记录frida hook native的笔记。当前frida的版本是16.1.0。

2023-07-28 17:20:49 227

原创 frida的记录

注意的是,安装的时候需要一台root过的手机,然后下载安装到手机的时候记得是下载server的。chmod 777 *(或者chmod 777 frida)本文记录一下使用frida,至于安装过程则可自行搜索。然后是测试的js代码,hook1.js的全部代码是。执行hook的frida命令是下边的。首先需要开启frida服务。

2023-06-26 14:31:08 96

原创 aab 安装报so找不到的问题(apk正常)

aab 找不到so

2023-01-11 17:46:40 1996 1

原创 android Runtime.getRuntime().exec()输出报错信息

Runtime.getRuntime().exec()

2022-12-14 18:06:19 949

原创 android 如何给strings.xml文件内容加密?

android strings.xml加密

2022-12-06 15:15:05 969

转载 android gradle获取所有的so库

gradle获取所有的so库

2022-08-02 15:48:42 478

原创 java.util.zip.zipexception invalid entry compressed size (expected 36586 but got 37005 bytes)

java.util.zip.zipexception invalid entry compressed size

2022-05-10 19:20:34 1013

原创 GitLab Remote: HTTP Basic: Access denied. fatal: Authentication failed

最开始是报如下的错bash: /dev/tty: No such device or addresserror: failed to execute prompt script (exit code 1)经过百度谷歌一顿搜索,大部分文章都说是凭证的问题,但是我反复检查发现凭证没有问题,然后就试着直接修改.git下边的config文件里面的路径,然后就报如下的错GitLab Remote: HTTP Basic: Access denied. fatal: Authentication failed

2022-04-21 12:04:47 554

转载 arouter 自定生成autowired

原文地址Evil Mouth’s BlogARouter @Autowired 自动注入May 31, 2020前言ARouter 有一个@Autowired 的注解,能自动帮我们赋值一些变量,例如public class MainFragment {@AutowiredString name;protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Ar

2022-03-11 17:30:23 662

原创 gradle笔记

最近跟gradle打交道比较多,tinker也用到了,然后混淆过程还有写一些脚本都需要用到gradle,所以零零碎碎记录一些gradle的知识点,不然经常去搜索很容易忘记,本文是方便自己后边查看,有写的不好的地方请勿见怪。Gradle执行的时候遵循如下顺序首先是解析settings.gradle来获取模块信息,这是初始化阶段然后配置每个模块,配置的时候不会执行task配置完成之后,有一个重要的回调project.afterEvaluate,这个表示所有模块配置完成,可以准备执行task了(可以.

2022-02-07 21:24:43 1232

转载 声明主要 DEX 文件中必需的类

为 MultiDex 应用构建每个 DEX 文件时,构建工具会执行复杂的决策制定以确定主要 DEX 文件中需要的类,以便您的应用能够成功启动。如果主要 DEX 文件中未提供启动期间需要的任何类,则您的应用会崩溃并出现 java.lang.NoClassDefFoundError 错误。对于直接从您的应用代码访问的代码,不应发生这种情况,因为构建工具可以识别这些代码路径。但是,当代码路径的可见性较低时(例如,当您使用的库具有复杂的依赖项时),可能会发生这种情况。例如,如果代码使用自检机制或从原生代码调用 J

2022-02-07 09:24:52 147

原创 记录几个常用的adb命令

1、adb logcat -b events > eventlog1 将系统日志打印输入到eventlog1文件中2、adb logcat -b events | findstr “am_proc_died | am_proc_start” 查看进程的启动信息,下边会记录每个进程的启动信息和死亡信息3、adb shell ps 查看所有进程4、adb shell ps | findstr “com” 查看所有以com开头的进程5、adb shell pm list packages 查看手机

2022-01-22 11:43:59 2382

转载 jenkins创建项目

https://raphets.github.io/archives/2895a1e7.html

2021-12-29 15:37:30 175

原创 gradle 脚本扫描文件夹并把文件内容写到新建txt中

快要下班的时候,小哥给安排一个任务,需要把一个工程下边的所有的类导入的包给查找出来,我一想,我草,这尼玛,这个工程这么多文件夹,文件夹下还有文件夹,然后还有很多类,这个要是自己弄,生产队的驴也受不鸟,赶紧写了个脚本自动扫描,十分钟搞定,剩下的时间就可以愉快的摸鱼啦!代码如下task("scan") { println("开始扫描") def list = [] // 你要扫描的文件夹路径 def fileDir = file("F:\\workApp") fileD.

2021-11-09 20:12:34 2416

原创 gradle复制文件到你的build文件夹下

接到需求是,复制一个apk到build文件夹的assets文件夹下,我们都知道当我们点击clean的时候,build文件夹就会被清理,而且build文件夹下的assets文件夹并不存在,这个里面会根据application和library不同assets文件夹也会不同,具体看如下分析application下,build文件夹的assets文件夹名称叫做 merged_assetslibrary下,build文件夹的assets文件夹名称叫做library_assets全路径是在build/inte.

2021-11-09 17:24:03 3213

原创 android 插件化之不支持constraintLayout属性

最近有做插件化相关的东西,发现插件对constraintLayout的app:自定义属性不支持,我没找到真正解决问题的原因,临时思考得出的一个应对方案,但是能解决宿主和插件都引用constraintLayout的时候所引发的问题。背景在写demo的时候发现,宿主引用了constraintLayout,插件也引用了constraintLayout,但是插件里面使用constraintLayout的app:这种自定义属性就失效,虽然有打断点跟踪,但是没发现有什么不同之处,最主要的应该是跟Resource.

2021-11-05 10:31:57 1125 1

原创 gradle创建工程

之前对gradle脚本不熟悉,最近因为工作需要才学一点点基础知识,不过也踩了一些坑,记录一下,网上其实很多文章写的很好,有时候我们根据某一篇文章然后实战的时候,还是会出现问题,这个时候就需要看怎么去解决了。坑一Unable to load class这个问题找的时间最久,字面意思就是,我们在其他module使用我们的gradle工程时候,找不到我们自定义的groovy类。可能出错的地方有:1.包名要手动添加2.properties文件里面的路径也要写对3.我们的包名必须要写在groov.

2021-11-05 10:20:08 282

原创 android对文件进行加密

最开始想的是对apk进行加密,但是搜到的资料都是对dex层面的加密,后来转念一想,apk也可以被看做是一个普通的文件,普通的文件其实是可以使用AES进行加密的(AES比DES安全性和速度要更好,属于对称性加密里面很好的了),代码如下fun main(args: Array<String>) { // key也可以采用下边的FileAESUtil.getAutoCreateAESKey()方法自动生成 val key = "asdfghjkl" val content = .

2021-11-05 09:37:12 3530 2

原创 gradle复制文件到指定目录并且重新命名

Gradle复制apk到其他module下,并且重新命名// 直接在project下的build.gradle文件下加下边代码就好this.project.afterEvaluate { project -> project.tasks.each { task -> task.doLast { def fromFile = "${project.getProjectDir().path}\\plugindemo1\\build\\outputs

2021-11-03 15:15:36 1498

原创 Glide的缓存原理

Glide的源码比较复杂,功能也比较多,我看这个框架的时候,结合一位大佬写的博客,看了一个多月,才马虎看明白Glide的缓存原理1.我们都知道Glide是一个很优秀的框架,用起来非常简单,功能强大,越是用起来简单的东西,源码就越复杂,下边我们来扒一扒它的源码我们使用的时候,直接使用Glide.with(Context).load(url).into(imageview)我们直入主题,核心代码就在Engine这个类的load()方法中public synchronized <R> .

2021-08-31 15:32:49 160

原创 tcp四次挥手为何最后要等待2MSL时间?

之前别人问过的一个问题,说是四次挥手为何要等待2MSL时间?首先我们需要明白,MSL是表示什么意思?其实是maxinum segment lifttime(报文最大存活时间),tcp发出的包是有一个存活时间的。我们先来复习下tcp 的四次挥手,用C(client)和S(server)来代替1.C发出报文,说请求关闭,标识位为FIN,然后客户端进入一个等待状态,表示客户端没有数据发送给服务端了。2.S收到C的报文之后,会回复C一个报文,标志位为ACK,意思是我收到了,服务端进入等待关闭的状态。.

2021-08-30 11:29:40 903

原创 java 等待其他线程执行完成的几种方式

等待其他线程执行完成的几种方式方式一使用Thread.join()方法public class CalculationThread implements Runnable { private int count; public CalculationThread(int count) { this.count = count; } @Override public void run() { try {

2020-10-10 17:59:35 1061

原创 android 枚举性能问题

面试题:都说枚举性能不好,不好在哪里?现在有什么优化的方案如何解决的?首先我们可能要了解一下枚举,以前看性能优化的文章,都说不要使用枚举,因为枚举占用内存大,占用apk空间大,但是一直也不知道原因。109年谷歌官方视频有说,使用枚举会让apk比原来要大大约13倍的空间。有人可能会有疑问,你咋知道是13倍呢?大兄弟,消消气,是不是13倍,我们可以自己新建一个工程,然后打包,然后再加入枚...

2019-12-28 17:01:22 684

原创 Glide使用之工厂方法模式(ModelLoader/DataFetcher)

一直想解析一下Glide框架,奈何这个框架太强大,最近看了一段时间,总算是摸到一点边,现在再回过头来想郭神花了半年时间才把这个框架看明白,对这类人真是膜拜。最近在学习工厂方法模式,这里先对工厂方法模式做下介绍定义:提供一个创建对象的接口,让子类决定实例化哪一个类。也就是说将实例化延迟到子类。知道工厂方法模式的定义之后,我们得知道在哪里使用它,也就是说实际开发中有哪些场景能用到它,于...

2019-12-23 21:23:38 852

转载 SSL peer shut down incorrectly

当我们项目中出现标题这种错误的时候,常规操作就是clean一下工程,然后再重新Sync一下,后边发现还是不好使,一般的原因是有一些jar包下载不下来,翻墙也下载不下来,这个时候就要使用一下镜像了。具体操作如下buildscript { repositories { // 第一个地方 google() maven { url 'http://maven.al...

2019-11-01 11:55:11 583

原创 Error:Program type already present:android.R$mipmap解决方案

当我们程序报上边的错的时候,我们总以为是mipmap冲突了,所以一直找mipmap文件看看哪些冲突了,其实并不是mipmap问题。这类的错误还有比如说报Error:Program type already present:android.RcolorError:Programtypealreadypresent:android.permisscolorError:Program type ...

2019-11-01 10:08:06 636

原创 Android单例模式总结

定义保证一个类只有一个实例,并提供一个全局访问点具体写法单例模式一般分为两种形式,第一种是饿汉式,第二种是懒汉式。(当然有很多其他的博客或者书写的说,单例模式还分为其他的什么枚举啊等形式,但是我们这里只讲主流的,也就是我们项目中用的最多的两种形式)我们先来看看第一种饿汉式public class Singleton_EHanShi { public static void ma...

2019-10-16 14:17:04 183

module_constraintlayout2.0.1.aar

主要用于宿主和插件的constraintLayout冲突的问题

2021-11-05

android缩放拖动效果

android 缩放拖动效果的具体代码实现,里面有两种方式,各有利弊

2018-07-01

popupwindow动画

popupwindow的动画

2016-10-13

android多进程通信二

android多进程通信

2016-09-08

android最新支付宝demo

android最新支付宝demo

2016-03-23

android 采用windowmanager屏蔽home键

android 采用windowmanager屏蔽home键

2016-03-15

获取第三方音乐的广播

获取第三方的音乐广播

2016-03-14

仿照ios的两种弹窗

仿照ios的弹窗,本人也是下载别人的

2016-03-14

xutils源码以及多线程断点后台下载加载图片等列子eclipse版本

xutils源码以及多线程断点后台下载加载图片等列子eclipse版本

2016-03-14

仿Android联系人SideBar排序,根据拼音A-Z字母快速导航联系人姓名,以及输入搜索条件过滤,显示姓名的文字图片,添加挤压动画

仿Android联系人SideBar排序,根据拼音A-Z字母快速导航联系人姓名,以及输入搜索条件过滤,显示姓名的文字图片,添加挤压动画 ,http://blog.csdn.net/u010648159/article/details/50556909这是博客地址

2016-01-25

android圆形头像

这是网上搜集以及自己组合的android圆形头像

2015-10-24

二维码扫描

史上最简单的二维码扫描,真的很简单,非常简单,异常简单,一分钟就能集成到你的项目当中。

2015-07-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除