版权声明:本文为博主原创文章,欢迎转载.请注明原文链接 https://blog.csdn.net/ashqal/article/details/31772697 1 开头 上一讲讲到Looper,大家对Looper有了大概的了结(好几个月过去了-) 大家都知道一个Handler相应有一个MessageQueue, 在哪个线程上new Handler(假设不指定looper对象),那么这个handler就默认相应于这个线程上的prepare过的Looper 例如以下图Handler.java代码…
cocos2dx一个跨移动(平板)平台的游戏引擎,支持2d和3d,基于c/c++,网上介绍多在此不详叙.我们本篇关心的是跨平台那些事,自然而然就找到platform目录.好家伙,支持的操作平台还真不少,最吸引我们关注的可能就是字母顺序排列的头二个平台,android和apple.然后顺带会看一看winrt和linux.platform这个目录,物如其名,就是一些使用到平台服务的东西(封装).platform目录下各平台子目录封装的平台服务都大同小异,唯android目录特殊还多了jni和java…
请尊重分享成果,转载请注明出处,本文来自逆流的鱼yuiop,原文链接:http://blog.csdn.net/hejjunlin/article/details/53454514 前言:最近在研究MediaCodec,u盘坏了,之前下载的源码也就自然没有了,真是个难过的事情,不能因为没有源码了,就阻挡我的计划了呀,于是就是今天一文,在线看Android源码,加之此前很多人也有向我留言,如何看android系统的源码,今天来敲黑板,划重点了. 不管是做Android底层开发,还是做应用层开发,在…
Adapter相当于一个数据源,能够给AdapterView提供数据.并依据数据创建相应的UI.能够通过调用AdapterView的setAdapter方法使得AdapterView将Adapter作为数据源. 常见的AdapterView的子类有ListView.GridView.Spinner和ExpandableListView等. 本文就以ListView为例解说各种常见的Adapter的使用. 下面是Adapter相关类的关系图: Adapter接口 Adapter源代码链接例如以下:…
原文:Android菜鸟的成长笔记(17)-- 再看Android中的Unbounded Service 前面已经写过关于startService(Unbounded Service)的一篇文章:<Android菜鸟的成长笔记(16)--Service简介>本篇将在这一篇的基础上再来看一下startService的用法.先看一段代码: TestService.java package com.example.myfirstapp; import android.app.Service; imp…
Android中的Veiw从内存中到呈如今UI界面上须要依次经历三个阶段:量算 -> 布局 -> 画图,关于View的量算.布局.画图的整体机制可參见博文 < Android中View的布局及画图机制>. 量算是布局的基础.假设想了解量算的细节,可參见博文<源代码解析Android中View的measure量算过程>.本文将从源代码角度解析View的布局layout过程.本文会具体介绍View布局过程中的关键方法,并对源代码加上了凝视以进行说明. 对View进行布局的目…
正如前面<谁动了我的截图?--Monkeyrunner takeSnapshot方法源代码跟踪分析>所述,本文主要会尝试描写叙述android的自己主动化測试框架MonkeyRunner到底是怎样和目标设备进行通信的. 在上一篇文章中我们事实上已经描写叙述了当中一个方法.就是通过adb协议发送adbserver请求的方式驱动android设备的adbd守护进程去获取FrameBuffer的数据生成屏幕截图.那么MonkeyRunner还会用其它方式和目标设备进行通信吗?答案是肯定的,且看我们一…
描写叙述 结合几个问题去看源代码. 1.Handler, MessageQueue, Message, Looper, LocalThread这5者在android的消息传递过程中扮演了什么样的角色? 2.一个线程中能够有多个Handler吗?多个Looper呢? 3.整个消息处理过程.消息是怎么流动的? 4.为什么仅仅有UI线程能够更改UI?(就凭他叫UI线程?事实上也能够叫主线程或者ActivityThread) 開始看源代码 1.View的绘制都是从ViewRootImpl这个类開始,我们…
首先是这个问题如何修改. 在/frameworks/base/Android.mk中,找到如下行:packages_to_document :=在该变量的赋值语句最后添加xxxxx (这里是你的包的名称,比如com/sina/ui,其实这里就是你的源代码在/frameworks/base/<你的模块>/java/下面的一部分路径,只要能够唯一的匹配到你的代码即可) 即可. 该添加的含义是使MAKE系统在制作OFF-LINE DOCUMENT时包含我们的package.以此类推,添加其他新的pa…
本文主要是对Handler和消息循环的实现原理进行源代码分析.假设不熟悉Handler能够參见博文< Android中Handler的使用>,里面对Android为何以引入Handler机制以及怎样使用Handler做了解说. 概括来说.Handler是Android中引入的一种让开发人员參与处理线程中消息循环的机制.我们在使用Handler的时候与Message打交道最多,Message是Hanlder机制向开发人员暴露出来的相关类,能够通过Message类完毕大部分操作Handler的功能…