Jarrod's Blog

Thinking will not overcome fear but action will.

Android Support库迁移至AndroidX指南

Android Support库迁移至AndroidX指南 What—-AndroidX是什么? AndroidX是Jetpack中所有的库的软件包名称。2018年谷歌I/O 发布了一系列辅助Android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、...

Kotlin协程引起的Android5.0.2安装失败

Kotlin协程引起的Android5.0.2安装失败 问题 红米Note3 Android5.0.2版本测试机上,App安装不上。 原因分析 找了几台其他版本的机器,Android 5.1;Android 7、8、9,都可以。所以可能只是这个机型或者系统版本上有问题,但是其他应用在红米Note3 上是可以正常安装的,但是我们的App不可以,所以一定是代码出问题了。 找到历史发布版...

练习手写IoC框架,深入理解反射、注解、动态代理

练习手写IoC框架,深入理解反射、注解、动态代理 实现功能 ​ 通过依赖注入方式引入Activity布局、控件、点击事件,类似功能有个著名的框架ButterKnife 。不过他是通过APT (Annotation Processing Tool) 技术实现的。了解过Java反射的都知道它是个耗性能的操作,但是它带来的好处也是显而易见的,比如现在我们通过反射来注入布局等,可以...

从源码解析ViewPager动态更改Fragment的实现

从源码解析ViewPager动态更改Fragment的实现 需求背景(What) 项目中有个需求的实现,详情页中有两个Tab(概览、数据详情),概览页根据业务类型不同,显示不同的UI。并且详情可修该业务类型,并且动态更换掉概览页面。抽象出来就是ViewPager中包含AFragment、BFragment,当业务类型在ViewPager显示时被更改,需要把AFragment替换成CFra...

微信、支付宝、银联 app支付接入文档

移动支付 支付宝 1.要注册企业账户 https://memberprod.alipay.com/account/reg/enterpriseIndex.htm 2.创建应用 使用支付宝账户登录蚂蚁金服开放平台(open.alipay.com),进入开发者中心创建支付应用,具体步骤可以参考创建应用。 3.开始开发 设置开发子账号:https://docs.open.alip...

在VPS上搭建shadowsocks服务

2019-05-21-在VPS上搭建shadowsocks服务 1.一台VPS 搬瓦工涨价了,着实用不起。同事推荐了justhost,俄罗斯的一家服务商,不用搭梯子就能访问。看自己需求,我买的是最便宜的配置:单核CPU,512Mb的RAM,5G硬盘,一年120RMB左右,不过结算是用卢布,需要一张境外支付卡(visa或者万事达…)。付款成功以后会给注册时候的邮箱发送邮件,里面有ssh登录...