代码改变世界

说说Android桌面(Launcher应用)背后的故事(一)——揭开她神秘的面纱

2012-07-26 14:59 by tang768168, 411 阅读, 0 推荐, 收藏, 编辑
摘要:最近由于项目需要自己定制一套管理系统,遂想到了Android的启动器,下来了源码,一编译到处是错,查了查原因,原来是引用了自家的成员,他们家开发的就是方便,想直接用就直接用。于是下载了个包,终于错误少了一大半。但是还有一些错误,主要是引用了一些不存在的资源。于是改了改,基本可以运行了。但是,问题来了,一眼望去,红色叉叉是不见了,但是革命依然不容乐观,一个人我认识,但是一下子成千上百个人出现在我的面前,我就不是一点点晕了,而是晕的不行了。然而,军令如山,纵然晕,也得硬着头皮将革命进行下去,因为有一点是肯定的,革命必须胜利,不容失败! 接下来的一系列文章,就记录下我的革命之旅!本来打算在原有lau 阅读全文

Android Launcher全面剖析

2012-07-25 15:03 by tang768168, 846 阅读, 0 推荐, 收藏, 编辑
摘要:首先来说说我为什么写这篇文章,最近公司要我负责搞Launcher,网上一查这方面的资料比较少,并且不全,研究起来相当困难,所以就写了这篇文 章,希望对大家有帮助。这篇文章是相当长的,希望读者能耐心读下去,实际上也花了我很长时间来写。好了闲话少说,我们切入正题。 这篇文章我会讲以下Launcher内容: Launcher UI总体架构 Launcher Res下的Layout Launcher Res下的Xml文件 Launcher Manifest文件 Launcher 常用类介绍Launcher 启动过程 Launcher widget添加过程 Launcher celllayout的介绍一 阅读全文

AndroidICS4.0---->LockScreen锁屏流程【Android源码解析九】

2012-07-19 22:04 by tang768168, 1222 阅读, 0 推荐, 收藏, 编辑
摘要:先来说说LockScreen分类; 一、无锁屏; 二、锁屏: 1、UnLockScreen: 图案锁、 PIN锁, 密码锁; 2、LockScreen: 波纹锁; 转载请表明出处:http://blog.csdn.net/wdaming1986/article/details/7753206有图有真相------> 接着我们来看看LockScreen的时序图:综上所述:1、createUnlockScreenFor()方法创建的是UnLockScreen界面,代码如下:[java] view plaincopyprint?ViewcreateUnlockScreenFor(UnlockM 阅读全文

Android中ICS4.0Launcher中Fold的功能详解【androidICS4.0-->Launcher系列三】

2012-07-19 22:02 by tang768168, 311 阅读, 0 推荐, 收藏, 编辑
摘要:AndroidICS4.0的文件夹和2.3的文件夹区别比较大,主要区别有: 一、android2.3的文件夹大小是固定的,4.0的文件夹大小是按照里面的元素大小决定的。二、android2.3的文件夹图标是固定的文件夹的形式展示的,而4.0是从文件中取前3个的缩略图垂直展示在屏幕上的。估计谷歌怕侵犯苹果文件夹的知识产权,所以没有做成和苹果一样的效果。 三、android2.3的文件中可以放多于16的应用程序的快捷方式,而4.0最多只能放16个快捷方式。 四、android2.3的文件夹中的图标不可以交换位置,而4.0的文件夹中的图标可以相互交换位置。转载请标明出处:http://blog.cs 阅读全文

Android-->Launcher拖拽事件详解【androidICS4.0--Launcher系列二】

2012-07-19 21:56 by tang768168, 323 阅读, 0 推荐, 收藏, 编辑
摘要:AndroidICS4.0版本的launcher拖 拽的流程,基本和2.3的相似。就是比2.3写的封装的接口多了一些,比如删除类的写法就多了个类。等等。4.0的改变有一些,但是不是特别大。这个月一 直在改动Launcher的缩略图的效果,4.0的缩略图的功能没有实现,还得从2.3的Launcher中摘出来。通过做这个缩略图对Launcher 的模块有一点点了解,拿来分享一下Launcher拖拽的工作流程。有图有真相!转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/7671318(1) 先来看看类之间的继承关系 图(1) (2.. 阅读全文

Android中ICS4.0源码Launcher启动流程分析【android源码Launcher系列一】

2012-07-19 21:54 by tang768168, 383 阅读, 0 推荐, 收藏, 编辑
摘要:最近研究ICS4.0的 Launcher,发现4.0和2.3有稍微点区别,但是区别不是特别大,所以我就先整理一下Launcher启动的大致流程。Launcher其实是贯 彻于手机的整个系统的,时时刻刻都在运行,要是Launcher不运行了,手机就得黑屏了。Launcher的 LauncherMode=singletask,所以说不管Launcher启动了哪个应用,总有个Launcher的实例在堆栈中,并且位于栈底。点 击Home键进入到Launcher,上篇Android的全局键(home键/长按耳机键)详解【android源码解析八】 中有详细的介绍。大致思路其实就是启动launcher的时 阅读全文

脚本编程基础知识点总结

2012-06-27 11:30 by tang768168, 742 阅读, 0 推荐, 收藏, 编辑
摘要:脚本编程基础知识点总结 一:关于脚本1:linux下的脚本简单的概括起来就是将多个命令,变量 嵌套与不同的控制语句及函数中而组合起来的一个顺序执行命令的批处理任务2:在linux中一个脚本的展开需以#!/bin/bash开始下面可以附加一些关于脚本的相关的注释信息:比如:作者,脚本的要实现的功能,版本,时间等3:最后一个脚本的执行时该脚本必须要有执行权限或者使用bash scripts_name 的形式执行4:脚本不需要编译执行,而是解释执行(执行效率比较低)。二:基础变量 linux脚本中的变量不需要事先声明,而是直接定义使用(这点不同于其他高 级编程语言中变量的使用) 变量的分... 阅读全文

解说linux启动流程

2012-06-27 11:20 by tang768168, 350 阅读, 0 推荐, 收藏, 编辑
摘要:解说linux启动流程一:概述 关于linux的系统启动流程我们可以从下面图片中的流程一步一步展开,其实linux系统的启动过程中,我们可以比喻为一个接力赛,计算机的不同模块负责这个接力赛中接力棒的交接(为了更好的理解,暂且这样比喻吧可能有点不是太恰当,呵呵)二:剖析启动过程(整个过程将围绕上面的图片流程详细展开)当我们打开计算机电源的时候,随后会听到滴的一声,linux系统开始了一段紧张有序的接力大赛,开始鸣枪(POST-power on self test)自检开始),这个过程中主要是检测我们的计算机硬件设备比如:CPU,内存,主板,显卡,CMOS等设备是否有故障存在,如果有硬件故障的话. 阅读全文

Android Launcher UI框架详解

2012-04-27 16:24 by tang768168, 1856 阅读, 0 推荐, 收藏, 编辑
摘要:1.DragLayer--DragLayer继承FrameLayout,并在此基础上组合了DragController实现拖放功能,DragLayer主要监听下面两个用户事件 onInterceptTouchEvent onTouchEvent 交给DragController进行处理,DragController根据是否在拖放中等信息控制控件拖放过程处理. DragLayer 是Launcher这个activity的顶层view,Launcher2这个应用只有一个activity那就是Laucher.java 2.DeleteZone--打开launcher.xml,DeleteZ... 阅读全文

Android4.0 Launcher 源码分析系列(三)

2012-02-16 10:34 by tang768168, 677 阅读, 0 推荐, 收藏, 编辑
摘要:这一篇研究一下整个桌面的左右滑动是如何实现的。 首先傻蛋先画了个图来再来阐述一下WorkSpace的结构。如下图: 桌面的左右滑动功能主要是在PagedView类中实现的,而WorkSpace是PagedView类的子类,所以会继承PagedView中的方法。 当我们的手指点击WorkSpace时,首先就会触发PageView中的onInterceptTouchEvent()方法,会根据相应的条件来判断 是否对Touch事件进行拦截,如果onInterceptTouchEvent()方法返回为true,则会对Touch事件进行拦 截,PageView类的onTouch方法会进行响应从而得到调用 阅读全文