原始链接:https://martinfowler.com/articles/mocksArentStubs.html#TheDifferenceBetweenMocksAndStubs
很多人经常会混淆这两个测试用的术语,要想完全理解测试替身(test doubles)的用法,我们就必须搞清楚[……]
原始链接:https://martinfowler.com/articles/mocksArentStubs.html#TheDifferenceBetweenMocksAndStubs
很多人经常会混淆这两个测试用的术语,要想完全理解测试替身(test doubles)的用法,我们就必须搞清楚[……]
DiskLruCache 是一个 Android 端使用广泛的磁盘 LRU (最近最少使用)缓存算法的实现库,甚至在 AOSP 中都有使用。
为了对整体架构有个印象,方便找分析入口,先看看基本的使用。
实例化:
val cache = DiskLruCache.open(cac[......]
本来是没有什么技术含量的东西。奇怪的是网上答案千篇一律而且大部分都是错的,不知道要坑坏多少人:smiling_imp:。
HTTP 代理相对简单
# HTTP 代理
git config --global http.proxy http://127.0.0.1:1080
git[......]
自定义 View 同学们一定或多或少都接触过,毕竟设计给出的样式往往从来不是系统默认的🙂。 自定义 View 时往往遵守下面这样的套路:
attrs.xml
中声明自定义属性(或使用系统预定义属性),经常用 declare-styleable
包裹起来。现代化的 Android 开发一定对 CoordinatorLayout
不陌生,CoordinatorLayout + AppBarLayout + CollapsingToolbarLayout + Toolbar
的全家桶更是信手拈[……]
Android 事件分发机制一直让人头痛,之前也是面向 GitHub 编程得过且过。今天下定决心了解一下,以便后面自己定制 View 效果。Android 触摸事件有三个基本类型:ACTION_DOWN
, ACTION_MOVE
, ACTION_UP
,后两者的传递顺序取决于 DOWN
的传递结果,所[……]
说明下环境:
Jenkins 的安装过程很简单就不写了。首先需要安装 GitHub Plugin
插件,如果安装 Jenkins[……]
如果还不清楚什么是依赖注入,那么请参考之前写的 Dagger2 in Android(一)通俗基础开头部分。如果你不了解 Dagger 倒也无妨,本文会进行一定的对比,但仅针对接触过 Dagger 的同学,否则大可以忽略。
Dagger2 作为著名优秀的依赖注入框架广为流传,[……]
本系列文章主要翻译自 medium-AndroidDevelopers.
前两章重点研究了协程如何简化代码,在 Android 中提供主线程安全,以及如何避免协程泄露。在此基础上,协程是一个在 Android 中进行后台处理以及以及简化回调的优秀方案。
到目前为止[……]