开发安卓也有很长一段时间了,但是很少用到测试框架, 平时写用都靠打 log 进行调试和测试,
运行的对不对,异常情况的处理,边界条件的处理,全靠自己的想象,写出来的代码和应用健壮性可想而知!
所以学习测试框架是很有必要的一件事,虽然在公司可能很少会用到,因为你可能没有时间去写一个测试案例!
其工作量不亚于实现一个应用功能, 但是我觉得测试是对自己所写代码的一种负责!
继续阅读 »
为了方便自己和他人引用我所写的java库,发布到 Maven/JCenter 上是最好不过了,利己利人,本文主要参考了
使用Gradle发布项目到JCenter仓库
Git项目: Gradle Publish
虽然这篇已经很详细的,但是我在实际操作中还是碰到了一些问题,所以自己再整理一遍,方便以后查阅
继续阅读 »
內部API定義
供Android内部使用,不向SDK开放的类、接口、方法等
内部API出现的形式
- Hide
在public类,方法,(静态)常量使用了/** @hide /注释的java元素。如android.os.ServiceManager类
- internal
包名中带有internal标记的所有类或包,如com.android.internal.
继续阅读 »
概述
本文主要是要向大家分享如何使用JFrog Artifactory,Bintray实现Library库从开发阶段snapshot版本到release版本发布的经验
一 工具介绍
1.1 JFrog Bintray
继续阅读 »
概述
MzPushSDK 针对Flyme级的系统级推送,定制了针对Flyme的推送SDK,立足减少开发者接入成本,提高应用在Flyme上的推送体验,本文档主要讲解魅族PushSDK AndroidStudio详细接入步骤,对PushSDK的基本的API做出简明的介绍,讲解SDK支持的功能
继续阅读 »
当涉及到耗时的任务时,要用到进度条提示,也就是工作者线程和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
继续阅读 »
手势
什么是手势
其实就是 onTouchEvent 中用,去识别判断出用户当前操作是个啥行为,是双击,长按,滑动,缩放,抛掷这些,然后做相应的操作,业务。
识别手势
如何确定手势操作时间 ?(长按多久,双击间隔多久)
如何确定手势距离 ?(移动长度大于多少算移动,小于多少算点击)
如何确定连续加速度 ?(滑动加减速,抛掷后续补全)
继续阅读 »
更新日志
系统架构
iOS
iOS系统分为可分为四级结构,由上至下分别为可触摸层(Cocoa Touch Layer)、媒体层(Media Layer)、核心服务层(Core Services Layer)、核心系统层(Core OS Layer),每个层级提供不同的服务。低层级结构提供基础服务如文件系统、内存管理、I/O操作等。高层级结构建立在低层级结构之上提供具体服务如UI控件、文件访问等。
可触摸层(Cocoa Touch Layer)
可触摸层主要提供用户交互相关的服务如界面控件、事件管理、通知中心、地图,包含以下框架:
* UIKit(界面相关)
* EventKit(日历事件提醒等)
* Notificati
继续阅读 »
一.配置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
继续阅读 »