先上译文路径。 考虑下面代码: public class SampleActivity extends Activity { private final Handler mLeakyHandler = new Handl…
分类:Android
[Espresso 4 Android Doc] 1. Espresso 概览
声明:本系列文章是对 Android Testing Support Library官方文档的翻译,水平有限,欢迎批评指正。 1. Espresso 概览 2. Espresso 设置说明 3. Espresso 基础 …
DI框架Dagger2系统性学习-不容错过的干货
Dagger2 转载请注明原作者,如果你觉得这篇文章对你有帮助或启发,可以关注打赏。 前言 本文翻译自Google Dagger2文档,才疏学浅,欢迎拍砖,希望能帮到你。 架构方面请关注GitHub(MVP+Retrof…
okhttp之CacheInterceptor
CacheInterceptor是okhttp中缓存拦截器,是负责http请求的缓存处理。当从上个拦截器中获取到http请求时,会从缓存里面取出对应的响应(之前缓存过的),如果没有,返回null。然后会根据request…
[译] 为什么 Kotlin 是我下一门要使用的语言
坐落于俄罗斯岛屿 —— Kotlin 上的灯塔 作者:Mike Hearn 原文:Why Kotlin is my next programming language Kotlin 是一门…
《上瘾》读后感
这本书适用于创业者、产品营销人员、销售人员等人群。 在高速发展以及新产品不断涌现的今天,产品销售比拼的是如何占领消费者心智,产品本身就是最好的营销-如苹果公司。 如何做出一款让用户上瘾的产品? 书中给的方法是如下4步: …
Android开发截屏截图方法汇总(Activity、View、ScrollView、ListView、RecyclerView、WebView截屏截图)
Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后进行分享或者其它用途 一、Activity截屏 1、截Activity界面(包含空白的状态栏) /** * 根据指定的Acti…
ListView优化为何ViewHolder用static类
如果有人还不了解ViewHolder为什么可以起到优化作用, 我这边再做下简单说明: Android的findViewById动作是比较耗时的,需要遍历布局的树形结构,才能找到相应的视图。所以如果想在这一块进行优化,我们…
Android模块化之ButterKnife和Dagger2的使用
本篇是在之前的两篇文章基础上讲解的,如果没看过,走这里: Android模块化简单教程 Android模块化之登录业务处理 示例代码还是那个:https://github.com/FamliarMan/Modulariz…
浅析 Android 自定义 View
感觉是时候输出一点东西了… 一. 写在开头 作为一名客户端开发者,不仅要能写出健壮的逻辑代码,而且必须得能写出优美的界面,不然为啥不去做后台呢哈哈当然这是玩笑话,但是作为一名客户端开发者对于自定义 View …
Android 设备间通信方式
常用的连接方式 1. 通过NSD_SERVICE连接,Socket通信,这种方式的前提是设备都必须连接在同一个wifi下。 通过NSD_SERVICE连接 其中一台设备作为服务端,需要向NSD_SERVICE注册服务,另…
自定义View学习之路(二)————Paint与Canvas
Paint简介: 可以理解为画笔,染料等。提供了在绘制前做准备工作的相关方法。 Paint常用方法: Paint的3中style: Paint.Style.FILL:填充内部 Paint.Style.FILL_AND…