8 土豆肉多

尚未进行身份认证

暂无相关简介

等级
TA的排名 10w+

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

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

ViewRootImpl的performDraw过程

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

2016-12-22 14:40:29

WindowInsets和StatusBar

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

2016-12-22 14:39:08

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

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

2016-12-22 14:35:50

图标动画技术入门(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

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

APK程序的运行过程

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

2013-11-25 18:16:33

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

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

2013-11-21 22:58:29

【转】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

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

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

2013-11-19 00:39:13

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

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

2013-11-18 23:38:17

【转】打开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

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

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

2013-11-15 21:48:05

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

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

2013-11-15 15:32:29

【转】HTTP 304 的理解

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

2013-11-15 14:46:40

简析 addToBackStack使用和Fragment执行流程

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

2013-11-14 14:46:11

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

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

2013-11-14 00:04:37

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

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

2013-11-13 00:25:47

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

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

2013-11-12 23:28:40
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!