Android
OnAndroidWay
这个作者很懒,什么都没留下…
展开
-
Android成长之路之layout加载过程
相信大部分初学者会对xml布局文件是如何加载到Activity里成为界面视图感到好奇,甚至一些同学都没有想过这个问题,他们会说:setContentView(layoutResId), so easy! 然而忽略了这一句代码背后的故事。当我们静下来去学习他们背后的过程与原理后,你会发现过程很复杂,原理很简单,收获很丰富,感觉很棒滴!今天,我们就从最简单且用到最多的开始学习—布局文件加载之谜。原创 2016-05-21 10:33:06 · 2157 阅读 · 0 评论 -
Android ORM框架之greenDAO
一、什么是ORM? ORM是object relation mapping的缩写,即对象关系映射,简单的说就是对象模型和关系模型的一种映射。ORM基于三个核心原则,简单:以最基本的形式建模数据;传达性:数据库结构被任何人都能理解的语言文档化;精确性:基于数据模型创建正确标准化的结构。原创 2017-04-29 15:07:22 · 334 阅读 · 0 评论 -
Android窗口管理之一--创建窗口
在android系统中窗口系统是一个很庞大很复杂的系统,对系统中的所有窗口进行管理是由窗口管理服务WindowManagerService来负责处理的,它是一个系统服务,扮演C/S模式中的服务端角色,而上层应用就是客户端,客户端负责请求创建窗口和使用窗口,服务端完成窗口的维护,窗口显示等。原创 2017-03-26 12:01:48 · 580 阅读 · 0 评论 -
Android View显示过程
之前,我们研究了Android应用的启动过程和退出过程,以及布局文件的加载过程,今天我们继续按照这条线,研究布局文件加载之后,View是如何被显示到屏幕上来的,也就是研究View的显示过程。下面我将介绍两个方面的内容:1、从加载layout文件到view的测量、布局和绘制的全过程。2、surface、surfaceFlinger与view显示的关系。原创 2017-01-28 14:14:47 · 651 阅读 · 0 评论 -
Android进程间通信
Android系统是基于Linux内核的,Linux系统也有着丰富的IPC方式,而Android采用了Binder机制。原创 2017-02-27 20:43:32 · 324 阅读 · 0 评论 -
Android单元测试
单元测试是编码工作的一部分,是开发中非常重要的一个环节。现在有一种TDD的开发模式很流行,TDD(Testing Driven Development),以测试驱动开发,这足以说明单元测试对于开发的重要性,尤其对于互联网产品开发显得格外重要,因为互联网产品有一个特点是快速多迭代,正是这个特点,单元测试的价值就更加明显。原创 2016-11-30 09:47:37 · 308 阅读 · 0 评论 -
Android Studio调试技巧
由于之前的工作一直是维护android系统,与framework相关的工作,定位问题全使用打Log然后观察Log的方式,没法使用debug的方式。后来改做上层应用,一开始使用eclipse开发,由于使用eclipse来调试android应用不是非常快捷方便,所以我仍然首选打Log的方式定位问题,极少用到debug。直到改用android studio来开发,我就爱上debug。原创 2016-10-29 10:20:17 · 410 阅读 · 0 评论 -
Android成长之路-事件消费
一、Android事件构成 Android中用户操作事件比较多,包括点击、长按、移动、拖拽等,还分单手指多手指操作等,这些都构成了Android的事件响应。所有的操作事件都由三个基础部分组成:ACTION_DOWN,ACTION_MOVE,ACTION_UP。原创 2016-08-29 20:00:02 · 624 阅读 · 0 评论 -
Android应用与MVP模式
一、什么是MVP? 在做大型软件项目的时候,架构师通常会慎重考虑使用某一个架构,这是至关重要的。在大型项目中,随着代码量越来越庞大,模块越来越错综复杂,如果没有一个好的架构,整个项目就像是一张蜘蛛网,没有人可以读懂,维护起来就非常困难,对于需求的变更与扩展就难于登天,甚至是毁灭性的。通过一个好的软件架构设计,可以使程序模块化,做到模块内部的高聚合和模块之间的低耦合。原创 2016-07-24 21:18:55 · 447 阅读 · 0 评论 -
Android成长之路之应用启动过程
引子:在Android代码中,我们通常调用startActivity就可以启动另外一个应用了,非常的简单。从最终用户来看,启动一个应用就是在桌面上点击一个应用图标。但是点击桌面的应用图标最终依然是调用startActivity来启动对应的应用,所以我们今天分析一下startActivity的执行过程。原创 2016-06-26 11:26:32 · 399 阅读 · 0 评论 -
Android事件传递
Linux内核提供了一个Input子系统,Input子系统会在/dev/input/路径下创建硬件输入设备的节点,一般情况下在我们的手机中这些节点是以eventX来命名的。Android读取事件信息就是从/dev/input/目录下的设备节点中读取出来的。原创 2017-05-31 10:23:51 · 370 阅读 · 0 评论