自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android Touch 简易流程分析

Android Touch 简易流程概述流程分析由Activity开始,前面不管。触碰事件首先发放到Activity,Activity再转发给它依赖的Window(也就是PhoneWindow对象),Window转发给它所持有的DecorView(也就是顶层FrameLayout对象),由此开始就是经常说的ViewGroup与View的触碰事件传递流程了。把上面的流程分两部分分析,第一部分是Activity到DecorView(简单);第二部分是ViewGroup与View流程(复杂)。第一部分

2020-06-27 15:13:46 357

原创 LayoutInflater实例化布局流程分析

LayoutInflater通过inflate方法组装一个指定layout的布局Viewpublic void inflate(int resource, ViewGroup root, boolean attachToRoot) { final Resource res = getContext().getResources(); final XmlResourcePar

2017-01-11 09:54:11 634

转载 android之init.rc文件浅析

1.  init.rc文件结构文件位置:init.c  : /system/core/initinit.rc  : /system/core/rootdir首先init.rc文件是以模块为单位的,每个模块里的内容都是一起执行的,模块分为3种类型:on、service、import。我们可以看下init.rc文件是怎么写的:1.importimport

2016-12-28 17:25:00 713

原创 ViewRootImpl的performDraw过程

ViewRootImpl充当的是View和window之间的纽带。在startActivity之后,经过与ActivityManagerService的IPC交互,会在ActivityThread的handleResumeActivity方法中执行到getWindow().addView,就是将根布局 Decor添加到window中以显示。getWindow会以WindowManagerGlobl

2016-12-22 14:40:29 2181

原创 WindowInsets和StatusBar

WindowInsets流程:setContentView过程可以分为两部分,一部分是构建DecorView布局,一部分是将布局添加到window中。主要看添加到window流程:ActivityThread.handleResumeActivity-WindowManager.addView-WIndowManagerImpl.addView-WindowManagerGloble.ad

2016-12-22 14:39:08 4204

原创 android关于dispatchTouchEvent和onTouchEvent的源码实验分析

(一)源码调试:设置build中编译版本为23(6.0);必须使用google官方6.0系统手机(如Nexus系列且安装6.0系统)或者使用虚拟机(配置也是Nexus6.0系统)。这样要求是为了运行设备和编译器编译使用同一个版本,而且都是google官方版本,在调试打断点的时候就不会出现断点行号和源码行号对不上的问题了。切记调试条件:1、编译版本和测试机版本必须相同。2、测试机使用

2016-12-22 14:35:50 661

翻译 图标动画技术入门(An Introduction to Icon Animation Techniques翻译)

原文地址:http://www.androiddesignpatterns.com/2016/11/introduction-to-icon-animation-techniques.html#drawing-paths以下为简单翻译,不足之处别见怪,有些关键词没有改动以免误解。文中带复选框的图片请到原文中查看效果,本文中只是静态图。创意定制是Material Desi

2016-12-22 14:33:14 792

翻译 KeyFrames-facebook(翻译)

原文github地址:https://github.com/facebookincubator/Keyframes/blob/master/README.md以下为简单翻译,不足之处别见怪,有些关键词没有改动以免误解。相关阅读:阅读后更助理解facebook原文地址:https://code.facebook.com/posts/354469174916519/keyframes-de

2016-12-22 14:30:02 1268

翻译 APK程序的运行过程

摘自:《内核剖析》 - 柯元旦 著    首先,ActivityThread从main()函数中开始执行,调用prepareMainLopper()为UI线程创建一个消息队列(MessageQueue)。    然后创建一个ActivityThread对象,在ActivityThread的初始化代码中会创建一个H(Handler)对象和一个ApplicationThread(Binder)

2013-11-25 18:16:33 1206

原创 简析 Android Adapter适配器的内部调用流程

我们都知道使用Adapter为ListView或GridView填充数据,而我们需要实现Adapter里的getView、getCount等方法。但内部到底是怎么调用,怎么调用的getView方法,就需要看源码了,下面来简单分析一下:

2013-11-21 22:58:29 8071

转载 【转】android中onMeasure初看,深入理解布局之一!

今天学习android自定义组件:docs/guide/topics/ui/custom-components.html其中有两个对布局界面影响很的方法,onDraw(),和onMeasure().onDraw()比较好理解.onMeasure()就比较难理解一些,也更复杂些 ,引用文档中的说法就是:onMeasure() is a little more invo

2013-11-19 17:59:04 1426

原创 套用DatePickerDialog源码实现自定义样式的日期选择对话框

我们一般会直接使用android提供的系统对话框,但有时候需要自己定义对话框样式,普通对话框还好,但是日期选择对话框中的日期选择部分十分复杂,为了一点样式的修改就去自定义View的话又得不偿失,这时通过套样系统源码来实现自己需要的样式就能很方便的实现我们的需求。下面的代码只是对DatePickerDialog源码稍加修改,只做演示,原理很简单,大家举一反三就可以自由定义需要的样式了。

2013-11-19 00:39:13 13272 3

转载 【转】java设计模式-桥接模式

本文介绍设计模式中的桥接(Bridge)模式的概念,用法,以及实际应用中怎么样使用桥接模式进行开发。Bridge模式的概念Bridge 模式是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立

2013-11-18 23:38:17 958

转载 【转】打开eclipse点更新后,出现This Android SDK requires Android Developer Toolkit version 22.0.0 or above.

本人最近在操作更新ANDROID SDK时出现类似于题目中的错误,是一启动ECLIPSE时。按照弹出的提示进行更新。但是,我现在只是想恢复到原先的开发环境。于是找到本文,方法有效!!!windows 下面安装Android虚拟机,有时候选择更新SDK后,在Eclipse preference里指向android_sdk_windows_x86时。会出现诸如This AndroidSDK

2013-11-18 10:55:26 1853

原创 java读书笔记-《java设计模式》-第5章 - 合成模式

读后感觉合成模式主要用于分析需求、整理逻辑后来设计程序框架,对初学者不太合适。概念:合成模式的意图是为了保证客户端调用单对象与组合对象的一致性。举个例子来说:对工作进程的定义,可以将其定义为进程步骤的集合以及其他进程。举一个书中的例子:工厂是由车间组成的,每个车间有一条或多条生产线,一条生产线上有很多机器,将这些工厂、车间、生产线看作是“机器”的组合来进行建模。单个机器类:Mach

2013-11-15 21:48:05 1011

转载 【转】android获取所有安装的非系统应用

程序大概分成三个部分:1.获取手机已安装的所有应用package的信息(其中包括用户自己安装的,还有系统自带的);2.滤除系统自带应用;3.通过列表显示出应用程序的图标(icon),和其他文字信息(应用名称,包名称package name,版本号等等)首先,我们定义一个数据结构,来保存应用程序信息(icon,name,packageName,versionName,

2013-11-15 15:32:29 5379

转载 【转】HTTP 304 的理解

304 的标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。如果客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的

2013-11-15 14:46:40 2264

原创 简析 addToBackStack使用和Fragment执行流程

在使用Fragment的时候我们一般会这样写:        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();        transaction.replace(R.id.content_view, fragment, fragment.getClass().getName

2013-11-14 14:46:11 95108 19

原创 java读书笔记-《java设计模式》-第4章 - 外观模式

对于外观模式书中讲的简单宽泛不便于理解,所以找了些网上的资料作为参考(http://zz563143188.iteye.com/blog/1847029)。结合起来看可以把外观模式解释为下面这样:外观模式主要作用于类与类之间的关系,作用是解耦,解除类与类之间的依赖。也可以用书中的话说“根据关注点将代码分解为不通的类,就可以提取一个类,它的主要职责是为子系统提供简便的访问方式,从而完成对

2013-11-14 00:04:37 1230

原创 java读书笔记-《java设计模式》-第3章 - 适配器模式

适配器模式分为 类适配器 和 对象适配器 两种。两者的区别在于前者是客户端设计的使用接口 与 现有的已实现该功能的功能类组合使用,由于此操作是在类层次上实现的,所以叫类适配器;而后者客户端并没有设计使用接口,所以通过继承客户端的使用类,并在其中实现已有功能类的实例 来调用已有的功能代码,也就是对象适配器。首先书中说明了适配器模式的使用情景:通常,在代码已经存在的情况下编

2013-11-13 00:25:47 827

原创 java读书笔记-《java设计模式》-第2章 - 接口型模式介绍

第一章是绪论没什么可记录的。第二章没有具体介绍设计模式,但有几个知识点需要熟悉一、java中抽象类和接口的区别1、一个类可以实现多个接口,但只能继承最多一个抽象类。2、抽象类可以包含具体方法,接口的所有方法都是抽象的。3、抽象类可以实现声明和使用字段;接口则不能,单可以创建静态的final常量。4、抽象类中的方法可以是任何方法限制;接口则只能是public的;5、抽象类

2013-11-12 23:28:40 736

asmack源码文件

asmack的源码文件,在工程中与asmackjar包关联就可查看源码,如果关联后还看不了就把Android Private Libraries remove了

2014-11-17

android imageloader

android 的图片下载jar包合集,可通过源码分析加强图片下载的理解;是一个非常更好的学习或使用资源;

2013-10-10

android volley 源码

volley源码,关联源码时要注意文件夹的节点结构,若节点正确则不会出现问题。

2013-10-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除