笔记: 最新版提升 Android 应用编译速度的方法

应用的构建速度会直接影响开发效率,本文将带您通过改造一个 Android 应用: “Google 追踪圣诞老人 (Google Santa Tracker)” 来为大家提供十个小技巧,帮助提升应用的 Gradle 构建速度,当我们应用了所有的小技巧之后,该演示应用的构建速度快了三倍以上。

资讯: Beta 6 现已发布,Android Q 正式版即将面世!

再过几周,Android Q 正式版就要与大家见面啦!目前,Android 团队正在对平台进行最后的优化与调试。同时今天向各位开发者发布最后一个 Beta 测试版: Android Q Beta 6。

资讯: GitHub 开始阻止被制裁国的开发者使用

上周五,国外新闻网站 ZDNet 发表了一篇报道 GitHub与跟世界贸易摩擦国的程序员关系的文章 —— GitHub starts blocking developers in countries facing US trade sanctions(GitHub 开始阻止被制裁国的开发者使用)。

资讯: 中国的开源项目正在破坏 GitHub 榜单页

近日一名国外开发者(Balazs Saros,下简称 Balazs)在个人博客发表了一篇看似是在声讨中国开发者的文章,标题起得有点唬人 —— Chinese repos are ruining the Github trending page(中国的开源项目正在破坏 GitHub 榜单页)。

付费: Facebook Libra,数字货币离我们很近吗?

Libra的使命是建立一个简单的全球货币和金融基础设施,为数十亿人提供支持。
互联网和移动宽带的出现使全球数十亿人能够获得世界的知识和信息,高保真通信以及各种低成本,更便捷的服务。这些服务现在可以使用来自世界上几乎任何地方的40美元智能手机进行访问.1这种连接通过让更多人能够访问金融生态系统来推动经济赋权。通过合作,技术公司和金融机构也找到了有助于提高全球经济能力的解决方案。尽管取得了这一进展,但仍有大量世界人口落后 - 全球仍有17亿成年人不在金融体系之内,无法使用传统银行,即使10亿人拥有移动电话,近5亿人拥有互联网接入。

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

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

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

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

付费: 重新理解创业:失败并不可怕

在一个新点子冒出来的时候,我们首先要甄别这个是什么级别的思考。如果只是把事情从 9 分变成 9.5 分,这就是花很大力气去做小数点后面的事,没有太大的用处。可是,现在大多数公司都在努力做小数点以后的事。

笔记: 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`详见源码

付费: 如何成为优秀的技术主管?你要做到这三点

「技术主管」是开发团队中的某位程序员需要对一起创建系统的整个开发团队负责时所承担的角色。通常他既要对最终交付的软件系统负责,另外也会像一个程序员一样去开发实现系统。
一个技术主管的 60% ~ 70% 的时间可能花在了开发任务分解分配、开发实践、技术架构评审、代码审核和风险识别上,而余下的 30% ~ 40% 的时间则花在为了保障系统按时交付所需的各种计划、协作、沟通、管理上。和团队管理者不同的是,技术主管的大部分管理工作都是针对具体研发任务和技术事务的。

笔记: 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`,但其实这个布局是可以被修改的。