巴巴巴巴巴巴掌

菜比成长记


  • 首页

  • 关于

  • 归档

手摸手增加字节码往方法体内插代码

发表于 2017-01-22 |

本文动态增加字节码是直接使用的ASM,有关ASM的内容可以看下我之前的一篇文章:ASM 操作字节码初探

阅读全文 »

ASM 操作字节码初探

发表于 2017-01-20 |

JVM的类型签名对照表

Type Signature Java Type
Z boolean
B byte
C char
S short
I int
J long
F float
D double
L fully-qualified-class ;fully-qualified-class
[ type type[]
( arg-types ) ret-type method type
阅读全文 »

JVM指令集整理

发表于 2017-01-19 |

看字节码从这里开始。

阅读全文 »

手摸手一起hook点击事件

发表于 2017-01-16 |

前言

hook一事看似神秘,其实并不是那么难,希望各位看官看过本文之后能有所收获。

本次是hook Android的点击事件,也就是OnClickListener,hook的意义在于你能在调用setOnClickListener后做些其他的事,其他一些你想和所有点击事件一起处理的事,那么在这里,我就以埋点为例吧。

阅读全文 »

手摸手带你mock api

发表于 2017-01-04 |

分析

mock api是我们日常开发必不可少的一项工作,业务开发中经常会出现UI做完了,但api还没有好的情况,有的时候甚至要提测了,api还没好,那么产品和测试验收的时候咋办呢?

解决方案

所有的方案都依赖于后端需要先给一个api模板。

一般来说有三种途径:

一、local data

业务熟练的同学model层封装的足够好,getDataFromRemote 和 getDataFromLocal切换自如。

二、local ip

把baseUrl换成本地ip,本地启个端口开个服务,此方案照样轻松。

三、借力工具

本文大力推借力工具的方案,因为前两种基本局限于我们自己操作,产品和测试同学往往会更无力点,charles登场。
大部分同学对charles的印象仅仅局限于抓包看下数据,其实他的功能强的一逼,mock api仅仅是冰山一角。

阅读全文 »

手摸手教你做动态壁纸

发表于 2016-09-30 |

项目地址:https://github.com/JeasonWong/SnowingView

效果图:

Markdown

前几天看到有个朋友开源了一个雪花动画,感觉蛮不错的,算法简单,思路清楚,还使用了加速度传感器,于是fork下来,想在此基础上拓展下,动态壁纸应该是个不错的选择。

阅读全文 »

FlipShare分享控件

发表于 2016-09-07 |

项目地址:https://github.com/JeasonWong/FlipShare

效果图:

Markdown

这段时间做了蛮多动画效果,那就趁热打铁,停不下来~

我发现开源的分享控件很稀少,大部分要么就是直接一个Dialog,要么就是简单的PopupWindow,于是决定撸一发。效果略浮夸,但是用来学习Camera和Matrix也是勉强可以的。为了重拾Matrix,特意看了下线性代数的60页PPT。

使用方式很简单,通过Builder模式构造。

1
2
3
4
5
6
7
8
9
10
FlipShareView share = new FlipShareView.Builder(this, mBtnLeftTop)
.addItem(new ShareItem("Facebook", Color.WHITE, 0xff43549C, BitmapFactory.decodeResource(getResources(), R.mipmap.ic_facebook)))
.addItem(new ShareItem("Twitter", Color.WHITE, 0xff4999F0, BitmapFactory.decodeResource(getResources(), R.mipmap.ic_twitter)))
.addItem(new ShareItem("Google+", Color.WHITE, 0xffD9392D, BitmapFactory.decodeResource(getResources(), R.mipmap.ic_google)))
.addItem(new ShareItem("http://www.wangyuwei.me", Color.WHITE, 0xff57708A))
.setBackgroundColor(0x60000000)
.setItemDuration(500)
.setSeparateLineColor(0x30000000)
.setAnimType(FlipShareView.TYPE_SLIDE)
.create();
阅读全文 »

手摸手教你用Canvas实现简单粒子动画

发表于 2016-08-29 |

项目地址:

https://github.com/JeasonWong/Particle

效果图:

Markdown

使用场景:

  • SplashActivity?
  • …
  • 好像真的不多 = =

效果看着还可以,有那么几个点一定需要知道实现。

  • 粒子效果
  • 几个坐标的计算方式
  • 文字从左往右像素级显示

只要想清楚以上三点的实现过程,这个动画就没问题了。

阅读全文 »

手摸手带你用VideoView实现英语流利说炫酷引导页

发表于 2016-08-24 |

项目地址:https://github.com/JeasonWong/LiulishuoPreview

效果图:

Markdown

一直听说英语流利说是个做的非常不错的app,于是乎抱着崇拜的心态下了一个瞅瞅,在打开app后就被引导页吸引了,继续抱着崇拜的心态去思考这是如何实现的。

阅读全文 »

手摸手教你用Scene实现炫酷的注册登录动画

发表于 2016-08-20 |

项目地址:https://github.com/JeasonWong/SignUpTransition

老规矩,先上效果。

效果

先说下实现细节

  • 『SIGN UP』字符的位移
  • 圆圈扩散动画
  • 注册->登录的动画
  • 背景上升顶部图标渐变

此处插一下嘴~ 动画效果我是在materialup上看到的,实现后在设计师的效果后留言说我实现了他的效果,然后他也回应了下,我相信这样的结果也会是设计师和程序员感到最欣慰的结果。

阅读全文 »
123
JeasonWong

JeasonWong

24 日志
1 标签
GitHub Weibo
© 2018 JeasonWong
由 Hexo 强力驱动
主题 - NexT.Mist