上海 - 周末一起打乒乓球吗,约吗?

上海地区,有喜欢打乒乓球或者羽毛球的朋友吗?如果有可以周末一起约战。 一般是在周六或周日的下午,打完球可以大家一起吃个晚饭。

笔记: 使用 Ngrok 实现内网穿透

最近在做 Server 开发,需要将一个内网的服务暴露出去,使其在家也能访问到。

笔记: Kotlin 1.3 发布,协程正式版发布啦

从 Kotlin 1.3 开始,协程将进入稳定状态。此后不再会被标注为`experimental`,官方也会提供相应的工具帮助开发者完成迁移工作。
Ktor,这个库的 API 已经完善,期待大家的使用体验和反馈。Ktor 是一个基于协程的框架,使用它我们可以优雅的构建 Web 应用、Http 服务、移动应用和网页。

笔记: Android 将 module 导出为 jar 最新版

今天碰上公司 Nexus 网络服务挂了,结果 aar 没办法 upload 。而偏偏遇上工程遗留问题,不支持 aar 直接依赖,只能想办法导出 jar 包依赖。所幸,操作还比较简单,但是这种方法只适合于每月资源引用的代码,而且还不支持传递依赖。

笔记: Android Studio 3.2 更新重点

版本帝最近更新的频率变低了,自从 2018 年 Google I/O 大会 Android Studio 宣布更新后,Google 精炼和完善了 20 多项新功能,并集中力量提升 Android Studio 3.2 稳定版的质量。

笔记: IPv6 地址格式

IPv6 地址大小为 128 位。首选 IPv6 地址表示法为 x:x:x:x:x:x:x:x,其中每个 x 是地址的 8 个 16 位部分的十六进制值。IPv6 地址范围从 0000:0000:0000:0000:0000:0000:0000:0000 至 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff。

笔记: addOnDrawListener 方法的兼容性问题

当一个视图树绘制时调用`OnDrawListener`的`onDraw()`函数。但是这个方法在 `Android8.0` 之前有个坑:`View` 在 `attach` 到 `window` 之前调用 `getViewTreeObserver().addOnDrawListener()` 将不会进入回调。因为`ViewTreeObserver`的`merge()`方法中没有处理`OnDrawListener`详见源码

笔记: Android P 加载 dex 失败

`dex2oat`是 `ART` 虚拟机必备的一个组件,主要用来把安装的 `apk` 和动态加载的 `dex` 等文件转换成 `oat` 文件.主要是由于从一开始, `dex2oat` 就被设计为系统内部使用的编译部署工具.所以在高版本上生成格式发生了变化.所以再去用 `BaseDexClassLoader`或者是`DexClassLoader`、`PathClassLoader`等加载的时候就会出错.

笔记: Android 正则判断手机号(包含网络运营商)

Android 正则判断手机号, 2018年最新, 包含网络运营商

笔记: Mac上更新Ruby环境

想要升级Mac上自带的Ruby环境,需要使用到RVM。

笔记: Android 获取 IP 地址

开发中经常会需要判断当前是否连接网络, WiFi 或 移动数据连接判断的需求。

笔记: AndroidStudio更换xml默认的布局

自从 AndroidStudio 到 2.3 了以后,新建一个 Activity,默认的布局就从以前的 `LinearLayout` 变成了 Google 强推的 `ConstraintLayout`,但其实这个布局是可以被修改的。