-
android
-
www.recyclerview.org官方网站:www.recyclerview.orgBRVAH是一个强大的RecyclerAdapter框架(什么是RecyclerView?),它能节约开发者大量的开发时间,集成了大部分列表常用需求解决方案。为什么会有它?请查看「Android开源框架BRVAH由来篇」该框架于2016年4月10号发布的第1个版本到现在已经一年多了,经历了800多次代码提交,
-
android
-
Google I/O 大会后,Android Studio 就发布了3.0 金丝雀版本,支持 Kotlin 语言,增加了 Gradle 编译速度,支持即时应用开发,在 Android O 模拟器中增加了 Google Play Store,自适应图标等 20 多项新功能。今天我们一起讨论和学习android studio 3.0本如何使用Kotlin语言开发Android应用。废话不多说,我们直上
-
tinuv
-
随机访问文件类流(输入输出流)和读写类(Reader和Writer及其子类)只能按照数据的先后顺序读取数据源的数据RandomAccessFile类不属于流,具有随机读写文件的功能,能从文件的任意位置开始执行读写操作.RandomAccessFile的常用方法getFilePointer()返回读写指针的位置seek(Long pos)设置读写指针的位置,与文件头相隔pos个字节数skipByte
-
android01
-
从这篇文章中我们开始分析android系统的事件分发流程,其实网上已经有了很多关于android系统的事件分发流程的文章,奈何看了很多但是印象还不是很深,所以这里总结一番。android系统的事件分发流程分为很多部分:Native层 --> ViewRootImpl层 --> DecorView层 --> Activity层 --> ViewGroup层 --> Vi
-
android01
-
前面我们讲解了系统截屏按键处理流程,HOME按键处理流程,今天再来讲解一下电源开关机按键事件流程,当然这也是系统按键处理流程方面的最后一篇博客了。和截屏按键、HOME按键的处理流程类似,电源按键由于也是系统级别的按键,所以对其的事件处理逻辑是和截屏按键、HOME按键类似,不在某一个App中,而是在PhoneWindowManager的dispatchUnhandledKey方法中。所以和前面两篇类
-
android01
-
上一篇文章中我们介绍了android系统的截屏事件,由于截屏事件是一种系统全局处理事件,所以事件的处理逻辑不是在App中执行,而是在PhoneWindowManager中执行。而本文我们现在主要讲解android系统中HOME按键的事件处理,和截屏事件类似,这里的HOME按键也是系统级别的按键事件监听,所以其处理事件的逻辑也应该和截屏事件处理流程类似,从上一篇文章的分析过冲中我们不难发现,系统级别
-
android01
-
今天这篇文章我们主要讲一下Android系统中的截屏事件处理流程。用过android系统手机的同学应该都知道,一般的android手机按下音量减少键和电源按键就会触发截屏事件(国内定制机做个修改的这里就不做考虑了)。那么这里的截屏事件是如何触发的呢?触发之后android系统是如何实现截屏操作的呢?带着这两个问题,开始我们的源码阅读流程。我们知道这里的截屏事件是通过我们的按键操作触发的,所以这里就
-
android01
-
上篇文章中我们分析了Activity的onSaveInstanceState方法执行时机,知道了Activity在一般情况下,若只是执行onPause方法则不会执行onSaveInstanceState方法,而一旦执行了onStop方法就会执行onSaveInstanceState方法,具体的信息,可以参见onSaveInstanceState方法执行时机:android源码解析(二十四)--&g
-
android
-
在我们平时开发的过程中,Android Studio 有时会遇到这个错误:Error running 'app': Default Activity not found,网上一大堆资料乱写的资料,其实很简单,先定位到是AndroidManifest.xml 出现了问题注意:再次强调是AndroidManifest.xml 出现了问题 找到问题位置就好办了,看看是不是没有入口的Ac
-
android01
-
我们已经分析过Activity的启动流程,从中也分析了Activity的生命周期。而其中有一个生命周期方法:onSaveInstanceState方法,今天我们主要讲解一下onSaveInstanceState方法的执行时机。可能部分同学对Activity的onSaveInstanceState方法不是特别熟悉,这里我们简单介绍一下。onSaveInstanceState方法是Activity的成
-
android01
-
前面的几篇文章都是讲解的android中的窗口显示机制,包括Activity窗口加载绘制流程,Dialog窗口加载绘制流程,PopupWindow窗口加载绘制流程,Toast窗口加载绘制流程等等。整个Android的界面显示的原理都是类似的,都是通过Window对象控制View组件,实现加载与绘制流程。这篇文章休息一下,不在讲解Android的窗口绘制机制,穿插的讲解一下Android系统的异常处
-
android01
-
前面我们分析了Activity、Dialog、PopupWindow的加载绘制流程,相信大家对整个Android系统中的窗口绘制流程已经有了一个比较清晰的认识了,这里最后再给大家介绍一下Toast的加载绘制流程。其实Toast窗口和Activity、Dialog、PopupWindow有一个不太一样的地方,就是Toast窗口是属于系统级别的窗口,他和输入框等类似的,不属于某一个应用,即不属于某一个
-
android01
-
在前面的几篇文章中我们分析了Activity与Dialog的加载绘制流程,取消绘制流程,相信大家对Android系统的窗口绘制机制有了一个感性的认识了,这篇文章我们将继续分析一下PopupWindow加载绘制流程。在分析PopupWindow之前,我们将首先说一下什么是PopupWindow?理解一个类最好的方式就是看一下这个类的定义,这里我们摘要了一下Android系统中PopupWindow的
-
android01
-
上几篇文章中我们分析了Dialog的加载绘制流程,也分析了Acvityi的加载绘制流程,说白了Android系统中窗口的展示都是通过Window对象控制,通过ViewRootImpl对象执行绘制操作来完成的,那么窗口的取消绘制流程是怎么样的呢?这篇文章就以Dialog为例说明Window窗口是如何取消绘制的。有的同学可能会问前几篇文章介绍Activity的加载绘制流程的时候为何没有讲Activit
-
android01
-
前面两篇文章,我们分析了Activity的布局文件加载、绘制流程,算是对整个Android系统中界面的显示流程有了一个大概的了解,其实Android系统中所有的显示控件(注意这里是控件,而不是组件)的加载绘制流程都是类似的,包括:Dialog的加载绘制流程,PopupWindow的加载绘制流程,Toast的显示原理等,上一篇文章中,我说在介绍了Activity界面的加载绘制流程之后,就会分析一下剩
-
android01
-
这篇文章是承接上一篇文章(Android布局加载流程:android源码解析(十七)-->Activity布局加载流程)来写的,大家都知道Activity在Android体系中扮演者一个界面展示的角色,通过上一篇文章的分析,我们知道Activity是通过Window来控制界面的展示的,一个Window对象就是一个窗口对象,而每个Activity中都有一个相应的Window对象,所以说一个Ac
-
android01
-
好吧,终于要开始讲讲Activity的布局加载流程了,大家都知道在Android体系中Activity扮演了一个界面展示的角色,这也是它与android中另外一个很重要的组件Service最大的不同,但是这个展示的界面的功能是Activity直接控制的么?界面的布局文件是如何加载到内存并被Activity管理的?android中的View是一个怎样的概念?加载到内存中的布局文件是如何绘制出来的?要
-
android01
-
今天讲讲应用进程Context的创建流程,相信大家平时在开发过程中经常会遇到对Context对象的使用,Application是Context,Activity是Context,Service也是Context,所以有一个经典的问题是一个App中一共有多少个Context?这个问题的答案是Application + N个Activity + N个Service。最后我们得出结论,应用进程的起始方法
-
android01
-
继续我们的源码解析,上一篇文章我们介绍了Activity的启动流程,一个典型的场景就是Activity a 启动了一个Activity b,他们的生命周期回调方法是:onPause(a) --> onCreate(b) --> onStart(b) --> onResume(b) --> onStop(a)而我们根据源码也验证了这样的生命周期调用序列,那么Activity的
-
android01
-
好吧,终于要开始讲解Activity的启动流程了,Activity的启动流程相对复杂一下,涉及到了Activity中的生命周期方法,涉及到了Android体系的CS模式,涉及到了Android中进程通讯Binder机制等等,首先介绍一下Activity,这里引用一下Android guide中对Activity的介绍:An activity represents a single screen w