Boredream Blog

「day day up」

自动化测试框架Espresso(一) 介绍和环境搭建

首先我也是刚开始熟悉自动化测试这一块,算是边学习边记录分享,如有不足可以指出,万分感谢 单元测试相信对于大家算是最熟悉的陌生人了,很多人都听过,但是一般很少有人写,尤其是自动化的测试代码 对于Android这样重UI的程序来说,更是难以测试 Espresso是Google官方开源的一款测试框架,使用比较简单 它提供了控件定位、各种测试动作、判断等一系列方便的API用于编写自动化测试的代码...

字母导航列表完整解决方案

使用场景 对于联系人,城市列表等,按照字母排序的都常用到 需求分析 一般需要的基本功能为 所有数据按照关键字段,一般是name姓名,进行拼音字母排序 每个拼音的首字母第一次出现的位置,额外显示个字母栏header,如图片中顶部的M和下面的N 右侧有一个字母导航栏,从A~Z排序,有两种 1) 显示所有字母,如图1 2) 只显示列表中全部数据有的首字母,如图2 选中字母导...

Android中表情功能的完整处理方案

概述 原理和实现思路 表情图片显示 表情面板 表情的输入框插入和删除 表情添加脚本 正式介绍之前,先放demo截图 原理和思路 表情内容的数据格式 表情看上去是图片,但是在数据传输的时候本质上是一个特殊文本 比如QQ表情就是一个 “/表情字母”的结构,比如害羞的表情就是/hx,呲牙就是/cy… 微博里表情就是”[表情名字]”的接口,比如可爱的表情就是[可...

view绘制过程之 layout

接着上一章, view绘制过程-measure layout概述 作用 本章介绍的是layout部分,即measure在计算完所绘制的东西多大后,由layout再去决定绘制在什么位置, 比如五大布局,最大的区别就在于child的排列布局规则,这个不同child的位置控制,就需要靠layout部分了 什么时候要处理 layout部分是决定child位置的,...

view绘制过程之 measure 2.实例分析

首先研究ViewGroup,需要同时考虑measure自己部分和measure child, 虽然LinearLayout最常用,但是牵涉到weight,算法比较复杂,所以挑了一个简单的帧布局 FrameLayout 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3...

view绘制过程之 measure 1.原理

首先是view的绘制过程~最主要的分三部分 measure layout draw 看字面意思,计算,布局,画~ android中控件相当于是画在一个无限大的画布上的,那就产生了几个问题 画布无限大,但是画的内容肯定是有限的,即我们只需要画布的一小部分,那这部分有多大呢? measure就是计算这个画布所需部分有多大的 决定好我们需要的画布部分,我们可能会在上面画很多内容,每个内容都画在什...

SlidingMenu源码分析

研究SlidingMenu之前最好先了解自定义组件相关的知识,以及简单看下我之前文章里的ScrollView原理分析~ SlidingMenu设计思路 三个主要的ViewGroup, 主ViewGroup里面包含两个重叠的ViewGroup,盖在上面的就是显示内容,而下面的就是菜单 上面的侧滑以后露出后面的View~ 主ViewGroup作为一个自定义控件,里面的内容和菜单利用自定义属性设...

Scroll效果研究 系统ScrollView源码分析

内容包括 最基本的随着touch滚动的效果 fling效果,即滑动后抬起手后继续关心滚动的效果 over scroll效果,即拖动超出边界的处理 上述123系统都有提供相关实现方法,但是ScrollView默认只有1,2的实现效果, over scroll需要我们自行进行一定处理后才可以看到~ 下面就ScrollView的源码进行分析,且提供三个自定义ScrollView(...

Android 中 scroll 的原理

想象一下你拿着放大镜贴很近的看一副巨大的清明上河图, 那放大镜里可以看到的内容是很有限的, 随着放大镜的上下左右移动,就可以看到不同的内容了 android中手机屏幕就相当于这个放大镜, 而看到的内容是画在一个无限大的画布上~ 画的内容有限, 而手机屏幕可以看到的东西更有限~ 但是背景画布是无限的 如果把放大镜的移动比作scroll操作,那么可以理解,这个scroll的距离是无限制的~...

Volley 框架介绍 & 源码分析

Volley是2013谷歌I/O开发者大会上推荐的一个网络通信框架,一般用于项目中进行get post等http请求的处理 优点是快速,使用简单~适合高频率较小数据(获取一些json字符串什么的)的通信,适合android上大部分app的需要 缺点是大数据传输时不是那么高效,下载显示图片可以,但是下载较大的文件就… 网上此类框架其实还是挺多的,okhttp/android-async-htt...