- 博客(27)
- 资源 (4)
- 收藏
- 关注
原创 选项(Option)设计模式
设计模式的出现,是为了解决编程中遇到的一些问题,现在有一个场景:我们需要初始化一个服务的配置文件,比如是这样:type Config struct { id int name string ip string port string // other params ...}常见的初始化,有以下几种:方式一:func initConfig(id int, name, ip, port string) { conf.id = id conf.name = name
2021-04-07 18:21:26 869
原创 排序算法:端点排序 & 系统排序算法分析
排序算法有很多,像冒泡、选择、插入、希尔、堆排序等等。这里我新给出一种算法,暂时叫端点排序吧,灵感来源于选择排序。中心思想如下图:如图,假设数组中有7个元素,我们进行一次循环,其实是可以确定出最大值和最小值两个位置的,将这两个值,swap到数组的两端。紧接着,两端的值就可以抛弃了,如下图:下一次的循环,会缩减逐二缩减,至1停止。上图所示,要注意的一点是,假设先发生了swap1,那min的位置将发生更改,需要把min更新到max的位置。示例代码如下:func endpoi
2021-04-01 19:05:17 281
原创 Go源码分析系列:sql驱动加载
go语言中提供了一个sql框架(database/sql),但是只提供了一个架子,没有具体实现,可以通过插件的方式注册自己想要使用的数据库,比如MySQL。下面看一段代码:package mainimport ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql")var db *sql.DB // 连接池对象func initDB() (err error) { dsn := "user:pwd@tcp(ip.
2021-03-16 16:48:49 298
转载 Android动态界面开发框架Tangram使用完整教程(转载)
原文链接:https://blog.csdn.net/u013541140/article/details/89517186Github地址:https://github.com/jimmysuncpt/TangramDemo
2019-07-20 22:43:17 717
转载 抱歉,Xposed真的可以为所欲为——6.你的表白撤不回了(转载)
一句话概括本文一步步Hook微信,实现微信消息防撤回。引言上周六下班,与往常一样,和公司同事去吃个饭,然后打个球,在支付的时候突然却意外发现我的微信号 被封了,出现了一个这样的页面(别人的截图,当时慌了没截图,只想着解封):卧槽,想想在深圳从不带钱包出门的我,要是没同事在,而我只用微信支付这个工具的话...细思极恐,解封的话需要发短信...
2019-07-16 21:53:08 443
转载 抱歉,Xposed真的可以为所欲为——5.我自己刷的Xposed凭什么不给我用(转载)
一句话概括本文分析定位排查下厨房APP检测手机是否安装了Xposed框架的方法,然后一步步 Hook掉对应代码,以此去掉恶心的重复弹出警告对话框。引言因为有带饭的习惯,每周上班前的一天都会想好这周要做的菜式,然后京东 到家采购一波食材。昨天下午当我习惯性地打开下厨房,然后:每打开一个新的页面就弹一次对话框,哇,是真的烦!我TM你说我H...
2019-07-16 21:40:03 611
转载 抱歉,Xposed真的可以为所欲为——4.猜拳投骰子你能赢算我输(转载)
一句话概括本文人品大法利用Xposed Hook掉微信猜拳和投骰子,让你无需再担忧拿外卖和搞卫生。引言关于这节,我是看代码看到头皮发麻,逆向APP并没有想想中的简单, 特别是微信这种,要投入的学习成本好高...而且最近事比较多,怕是 要断更一会儿了,后续闲下来再去研究吧,折腾本节这个简单的东西, 我花了差不多两天,反编译apk,看smail代码,ddms轨迹跟踪方...
2019-07-16 21:32:12 521
转载 抱歉,Xposed真的可以为所欲为——3.微信运动占领封面出售广告位(转载)
一句话概括本文简单的二十行代码,利用Xposed Hook掉计步传感器,以此达到刷步数的目的。引言现在的年轻都喜欢用各种各样的计步APP来记录每天的步数,微信自带的 微信运动因为用户群体基数大,很多人都在用,还有钉钉也整个钉钉 运动...看到别人天天走2W步就是为了占领封面,多走路本来是个好东西, 却变成了一种攀比的行为,走路这种东西不是越多越好的,我......
2019-07-16 21:09:49 1364
转载 抱歉,Xposed真的可以为所欲为——2.改为OV机型流畅玩耍高帧率王者农药(转载)
一句话概括本文:只需20行代码,利用Xposed Hook掉王者农药王者获取手机系统机型的方法, 改成OV系的系统,以此达到流畅玩耍高帧率的目的。引言:王者农药的新赛季又到了,本来这篇是昨晚应该撸出来的,后来因为改机型 后玩得太嗨,都没怎么写,惭愧:其实关于该机型优化已经不是什么新鲜事了,不过前几天在知乎上看到过话题: 如何看待 360 ...
2019-07-16 20:53:54 1156
转载 抱歉,Xposed真的可以为所欲为——1.基础知识储备(转载)
一句话概括本文:本节简单介绍了什么是Xposed,基本原理,如何创建一个Xposed项目以及Xposed常用的类与方法。引言:前面用Python利用itchat库撸了篇:小猪的Python学习之旅 —— 19.Python微信自动好友验证,自动回复,发送群聊链接接着小号貌似因为发送信息太频繁和太快,被封了,限制了不能网页端登录; 又开始折腾AccessibilityService...
2019-07-16 18:11:39 546
原创 Android Studio 编译报错 : toolchains found in the NDK toolchains folder for ABI with prefix: XXX 解决方案
升级AndroidStudio后遇到的问题。如下图: No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-androidThis version of the NDK may be incompatible with the Android Gradle plugin v...
2019-06-24 11:49:40 490
原创 Flutter 首次运行停留在 Initializing gradle... 解决方案(AndroidStudio相关Sync类库失败同样)
一,首先声明以下本文为总结性文章,非作者原创,方案来源于以下参考文章:1,flutter入门安装教程(来源Flutter中文网):https://flutterchina.club/setup-macos/2,解决方案参考(感谢作者):2.1,https://www.jianshu.com/p/407d3ca7037e2.2,https://blog.csdn.net/qq_160...
2019-06-23 12:56:35 1169
转载 关于RecyclerView你知道的不知道的都在这了(下)(转载)
目录由于本篇篇幅特长,特意做了个目录,让大伙对本篇内容先有个大概的了解。另外,由于有些平台可能不支持 [TOC] 解析,所以建议大伙可借助本篇目录,或平台的目录索引进行快速查阅。 LayoutManager 1.1 LinearLayoutManager 基本效果介绍 findFirstCompletelyVisibleItemPosition() findFirs...
2019-06-22 23:39:40 387
转载 关于RecyclerView你知道的不知道的都在这了(上)(转载)
最近打算花点精力来研究 RecyclerView 这个控件架构和原理,对我来说,难度很大,我不清楚最后能不能彻底搞清楚,这个系列的博客会不会被太监,但我会尽我最大努力,并将这整个过程分享出来。第一篇打算从使用方面入手,力求将 RecyclerView 开放给开发人员的所有接口都体验一番。前言虽然在日常开发中,大伙或多或少都会接触到 RecyclerView,但通常,也就是写写 adap...
2019-06-22 02:46:17 321
转载 给初学者的RxJava2.0教程(十)(转载)
前言在很久以前的一篇文章中,提到过如何利用Retrofit中的GsonConverter来处理API请求错误的方法,地址在这儿,今天给大家介绍另外一种优雅的方法,利用RxJava内部的RxJavaPlugins来做这么一个骚操作。正题说到RxJavaPlugins可能有很多朋友还很陌生,毕竟我们日常开放也不会怎么接触这个东西,但是从它的名字上来看就应该觉得它不一般,毕竟人家名字里带了一...
2019-06-19 17:05:55 139
转载 给初学者的RxJava2.0教程(九) (转载)
前言好久不见朋友们,最近一段时间在忙工作上的事情,没来得及写文章,这两天正好有点时间,赶紧写下了这篇教程,免得大家说我太监了。正题先来回顾一下上上节,我们讲Flowable的时候,说它采用了响应式拉的方式,我们还举了个叶问打小日本的例子,再来回顾一下吧,我们说把上游看成小日本, 把下游当作叶问, 当调用Subscription.request(1)时, 叶问就说我要打一个! 然后小日本...
2019-06-18 14:39:57 155
转载 给初学者的RxJava2.0教程(八)(转载)
前言在上一节中, 我们学习了FLowable的一些基本知识, 同时也挖了许多坑, 这一节就让我们来填坑吧.正题在上一节中最后我们有个例子, 当上游一次性发送128个事件的时候是没有任何问题的, 一旦超过128就会抛出MissingBackpressureException异常, 提示你上游发太多事件了, 下游处理不过来, 那么怎么去解决呢?我们先来思考一下, 发送128个事件没有问...
2019-06-18 14:29:02 167
转载 给初学者的RxJava2.0教程(七)(转载)
前言上一节里我们学习了只使用Observable如何去解决上下游流速不均衡的问题, 之所以学习这个是因为Observable还是有很多它使用的场景, 有些朋友自从听说了Flowable之后就觉得Flowable能解决任何问题, 甚至有抛弃Observable这种想法, 这是万万不可的, 它们都有各自的优势和不足.在这一节里我们先来学习如何使用Flowable, 它东西比较多, 也比较繁琐,...
2019-06-18 14:18:20 120
转载 给初学者的RxJava2.0教程(六)(转载)
前言在上一节中, 我们找到了上下游流速不均衡的源头 , 在这一节里我们将学习如何去治理它 . 可能很多看过其他人写的文章的朋友都会觉得只有Flowable才能解决 , 所以大家对这个Flowable都抱有很大的期许 , 其实呐 , 你们毕竟图样图森破 , 今天我们先抛开Flowable, 仅仅依靠我们自己的双手和智慧 , 来看看我们如何去治理 , 通过本节的学习之后我们再来看Flowable,...
2019-06-18 14:11:12 101
转载 给初学者的RxJava2.0教程(五) (转载)
前言大家喜闻乐见的Backpressure来啦.这一节中我们将来学习Backpressure. 我看好多吃瓜群众早已坐不住了, 别急, 我们先来回顾一下上一节讲的Zip.正题上一节中我们说到Zip可以将多个上游发送的事件组合起来发送给下游, 那大家有没有想过一个问题, 如果其中一个水管A发送事件特别快, 而另一个水管B 发送事件特别慢, 那就可能出现这种情况, 发得快的水管A 已经...
2019-06-18 14:01:36 119
转载 给初学者的RxJava2.0教程(四)(转载)
前言在上一节中, 我们提到了Flowable 和Backpressure背压, 本来这一节的确是想讲这两个东西的,可是写到一半感觉还是差点火候,感觉时机未到, 因此,这里先来做个准备工作, 先带大家学习zip这个操作符, 这个操作符也是比较牛逼的东西了, 涉及到的东西也比较多, 主要是一些细节上的东西太多, 通过学习这个操作符,可以为我们下一节的Backpressure 做个铺垫.正题...
2019-06-18 13:59:33 112
转载 给初学者的RxJava2.0教程(三)(转载)
前言上一节讲解了线程调度, 并且举了两个实际中的例子, 其中有一个登录的例子, 不知大家有没有想过这么一个问题, 如果是一个新用户, 必须先注册, 等注册成功之后再自动登录该怎么做呢.很明显, 这是一个嵌套的网络请求, 首先需要去请求注册, 待注册成功回调了再去请求登录的接口.我们当然可以想当然的写成这样: private void login() { ap...
2019-06-18 11:57:52 121
转载 给初学者的RxJava2.0教程(二)(转载)
前言上一节教程讲解了最基本的RxJava2的使用, 在本节中, 我们将学习RxJava强大的线程控制.正题还是以之前的例子, 两根水管:RxJava正常情况下, 上游和下游是工作在同一个线程中的, 也就是说上游在哪个线程发事件, 下游就在哪个线程接收事件.怎么去理解呢, 以Android为例, 一个Activity的所有动作默认都是在主线程中运行的, 比如我们在onCr...
2019-06-18 11:56:13 106
转载 给初学者的RxJava2.0教程(一) (转载)
前言上个月RxJava2正式版发布了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过RxJava的朋友可能就不知道怎么办了,不知道该看RxJava1还是直接跳到RxJava2。所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。注:如果你觉得写得不好,请直接批评指出。我先回答这个问题:学习RxJava2需要先学习R...
2019-06-18 11:32:24 94
转载 给 Android 开发者的 RxJava1.0 详解 (转载)
作者:扔物线HenCoder 给高级 Android 工程师的进阶指南:前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava...
2019-06-18 10:58:19 290
原创 使用 AS 将 Git项目 发布到 Bintray Maven 仓库
整个过程简单分为这么几步:在AS项目中新建测试库,提交到Git上(Git地址仅用作说明,也可不提交到Git) 在Bintray上创建Maven仓库 发布、测试。开始:1.1. 在GitHub上新建个organization(如果之前有也可直接用) 1.2. 在organization 下新建个 repository 1.3. 新建项目...
2019-05-10 10:43:36 258
原创 AES Crypto 在 Android P(Android 9.0) 被删除 解决方案
开发工具:Android Studio 项目中若使用 SecureRandom.getInstance("SHA1PRNG", "Crypto") ,会给出以下警告:The Crypto provider has been deleted in Android P (and was deprecated in Android N), so the code will crash. le...
2018-11-06 12:54:07 4028
jdk-8u251-macosx-x64.dmg.zip
2020-06-09
commons-logging-1.1.1
2014-05-21
commons-beanutils-1.9.1
2014-05-21
commons-collections-3.2.jar - Java包下载页
2014-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人