博客首页:http://www.cnblogs.com/kezhuang/p/ Android中整个的View的组装是采用组合模式. ViewGroup就相当与树根,各种Layout就相当于枝干,各种子View,就相当于树叶. 至于View类.我们就当它是个种子吧.哈哈! ViewGroup属于树根,可以生长数很多枝干(继承自定义Layout)而枝干上有可以长出很多叶子(TextView,ImageVIew......) 好,闲话少叙,接下来步入正题! 首先,关于View的操作方法,被定义在一个…
Android中整个的View的组装是采用组合模式. ViewGroup就相当与树根,各种Layout就相当于枝干,各种子View,就相当于树叶. 至于View类.我们就当它是个种子吧.哈哈! ViewGroup属于树根,可以生长数很多枝干(继承自定义Layout)而枝干上有可以长出很多叶子(TextView,ImageVIew......) 好,闲话少叙,接下来步入正题! 首先,关于View的操作方法,被定义在一个叫做ViewManager的接口中,接口中还有两个方法,分别是移除和更新,这次主…
通过上一篇 Android FrameWork学习(一)Android 7.0系统源码下载\编译 我们了解了如何进行系统源码的下载和编译工作. 为了更进一步地学习跟研究 Android 系统源码,今天我们来讲讲如何进行 Android 系统源码的调试,只有学会了如何进行系统源码的调试,才能帮助我们更高效地阅读跟理解源码. 我们知道,Android Framework 的代码主要由Java.C\C++等代码组成,因此,对于系统源码的调试,我们这里将其分为了两部分 Java 相关代码的调试 C\C+…
这是很久以前访问掘金的时候 无意间看到的一个关于Android的文章,作者更细心,分阶段的将学习步骤记录在自己博客中,我觉得很有用,想作为分享同时也是留下自己知识的一些欠缺收藏起来,今后做项目的时候会用到. 好了,废话不多说了.直接来吧.. Android 7.0系统源码下载\编译:http://blog.csdn.net/cjpx00008/article/details/67185045(这个链接并不是下载地址,而是对安卓系统编码的一个阐述,源码官网可以下载的) 这是Android 7.0系…
1. 之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework面存一些资料待有空查看. 2.Android系统的层次如下: 3.项目目录简单分析如下: 4.telphony目录 文件 描述 CellIdentityCdma //描述电信通信标识 CellIdentityGsm 描述移动通信标识 CellIdentityLte 描述3G通信标识 CellIdentityWcdma 描述联通通信标识 CellInfo 手机信息(什么网络.是否已注册.记录时间) class…
1. 之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework面存一些资料待有空查看. 2.Android系统的层次如下: 3.项目目录简单分析如下: 4.telphony目录 文件 描述 CellIdentityCdma //描述电信通信标识 CellIdentityGsm 描述移动通信标识 CellIdentityLte 描述3G通信标识 CellIdentityWcdma 描述联通通信标识 CellInfo 手机信息(什么网络.是否已注册.记录时间) class…
Go beyond yourself rather than beyond others. 上篇文章 深入理解 EventBus 3.0 之使用篇 我们了解了 EventBus 的特性以及如何使用,这篇文章我们来揭开它神秘的面纱,看看在繁华的背后究竟是怎样的沧桑. 读完本文你将了解: 注解修饰订阅方法 编译时处理注解生成索引 创建 EventBus 最关键的两个属性 SubscriberMethod 订阅方法信息 Subscription 事件订阅总体 SubscriberMethodFinde…
本博客主要是在Ubuntu 下开发,且默认你已经安装了Eclipse,Android SDK, Android NDK, CDT插件. 在Eclipse中添加配置NDK,路径如下Eclipse->Window->Preferences->Android->NDK ,选择NDK的路径,然后Apply即可. 新建一个名为AndroidJNI_MethodCall的Android工程,新建一个jni的文件夹,其目录下文件树列表如下: ├── jni│   ├── Android.mk│ …
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect.accept.recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等 待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回).可是使用Select就可以完成非阻塞(所谓非阻塞方式non- block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回…
博客首页:http://www.cnblogs.com/kezhuang/p/关于Activity的contentView的构建过程,我在我的博客中已经分析过了,不了解的可以去看一下<[Android FrameWork 6.0源码学习] Window窗口类分析>本章博客是接着上边那篇博客分析,目的是为了引出分析ViewRootImpl这个类.现在只是分析完了Window和ActivityThread的调用过程从ActivityThread到WindowManager再到ViewRootImp…