今天迷迷糊糊听见iOS同事对PM说“连击检测”其实只需要传一个参数就行了,我大为震惊,iOS竟有如此炫酷的API,Android似乎没有呀!在google和github搜索两次之后无果,我决定自己实现一个连击检测的库。因为主要使用RxJava实现,所以命名为RxComboDetector,github 源码地址。
继续阅读 »
细说Android动画
动画感觉说白了就是一句话
在触发范围内 循环的修改view特点后 使view重新绘制 展示新的效果
所以只要有满足三个条件就能完成一个效果
触发范围
比如给个时间 在范围内做个事,或者是给个滑动距离 手指在范围内跟随滑动做个事。
继续阅读 »
Android 6.0已经推出,更新了许多新的特性,而最好的学习方法就是直接阅读源码。所以最先想到的是下载最新的源码包。
环境
系统:OS X 10.11.4
git : 2.6.4
make : 3.81
移动硬盘
继续阅读 »
Android动画执行过程分析
1 View 调用动画启动
动画启动 重置一些状态 主要方法
public void startAnimation(Animation animation) {
animation.setStartTime(Animation.START_ON_FIRST_FRAME);
setAnimation(animation);
invalidateParentCaches();
invalidate(true);
}
继续阅读 »
安卓开发过程中测试的编写是一个公认的痛点,本文总结了我在AndroidTDDBootStrap工程中配置Espresso测试所遇到的坑,例如神秘报错android.content.res.Resources$NotFoundException和java.util.zip.ZipException: duplicate entry,以及对dagger,mock网络请求的实践,目测应该是目前最全面的指南了 :) 本文涉及的完整代码可以在Github: AndroidTDDBootStrap获取。
继续阅读 »
当涉及到耗时的任务时,要用到进度条提示,也就是工作者线程和UI主线程的交互问题。
Andriod提供了几种在其他线程中访问UI线程的方法。
Activity.runOnUiThread( Runnable )
View.post( Runnable )
View.postDelayed( Runnable, long )
下面给出两个例子分别用handler和runOnUiThread访问UI主线程。
1、使用handler,普通进度条控件
TextView tvShowMessage;
Message message=null;
Handler handler = new Handler() {
public
继续阅读 »
概述
Gradle插件,用于将开源项目发布到jcenter或者artifactory中,简化开发者接入配置,只需关心jcenter项目配置即可
一 插件配置
1.1 引用插件
继续阅读 »
安卓开发过程中一旦开始和硬件打交道,以及涉及到一定的native代码之后,各种闪退就开始浮出水面了,声音录制和播放当然不例外,其中最摸不着头脑的就是A/libc: Fatal signal 11 (SIGSEGV) at了。本文总结了YOLO安卓客户端大半年来的安卓音频实践,整理出一套系统API的封装,命名为RxAndroidAudio。
继续阅读 »
一.配置JDK
$sudo gedit /etc/profile
这里配置的系统环境变量
* 配置java environment
```
JAVA_HOME=/home/liujicheng/java/jdk1.6.0_12
export JRE_HOME=/home/liujicheng/java/jdk1.6.0_12/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
继续阅读 »
更新日志
系统架构
iOS
iOS系统分为可分为四级结构,由上至下分别为可触摸层(Cocoa Touch Layer)、媒体层(Media Layer)、核心服务层(Core Services Layer)、核心系统层(Core OS Layer),每个层级提供不同的服务。低层级结构提供基础服务如文件系统、内存管理、I/O操作等。高层级结构建立在低层级结构之上提供具体服务如UI控件、文件访问等。
可触摸层(Cocoa Touch Layer)
可触摸层主要提供用户交互相关的服务如界面控件、事件管理、通知中心、地图,包含以下框架:
* UIKit(界面相关)
* EventKit(日历事件提醒等)
* Notificati
继续阅读 »