
android-原理
文章平均质量分 89
從前以後
这个作者很懒,什么都没留下…
展开
-
Android 关于接口回调原理的解析
接口回调,咋听起来可能会感觉很高大上,很复杂的逻辑的一种思想。特别是在Android中,每次都用,但有时候只是知道这样用,却不知道怎么实现的。但其实任何面向对象语言使用无非就是封装,继承,多态。其他的万变不离其中。要理解接口回调的机制,我觉得首先要清楚面向对象多态的概念。以下是自己在开发中的理解。 多态:c++中的理解时允许将子类类型的指针赋值给父类类型的指针,其实就是有一个容器保存了父类的指针类型原创 2015-10-29 17:29:21 · 4339 阅读 · 2 评论 -
仿QQ侧滑删除(简陋版)
今天想试试android View的事件分发机制,于是自制了一个仿QQ的侧滑删除当小白鼠,利用这个来验证View面对不同的情况下,的事件分发情况。 由于是当给自己当试验品用,做的有点简陋,不对那可是相当简陋。 原理:首先一个全屏的item加上一个button拼接成一个HorizontalScrollView。让button显示在屏幕的外面,当侧滑的时候显示出button。之后放入listview原创 2015-12-09 17:15:42 · 659 阅读 · 0 评论 -
Android View的事件分发机制
新版的view的事件分发机制相较于老版本的还是改动了一些地方,这个准备记录下来,以免忘记和不时之需。 Android中的触摸事件的分发执行顺序是从ViewGroup中的dispatchTouchEvent–onInterceptTouchEvent,如果onInterceptTouchEvent返回true,表示拦截,这时执行ViewGroup中的onTouch方法。如果onInterceptTo原创 2016-01-25 13:54:59 · 509 阅读 · 0 评论 -
BroadcastReceiver源码解析(一)
1,简介BroadcastReceiver,中文直译为“广播接收者”,在Android 系统中,广播主要用在组件与组件之间进行消息传递。组件与组件之间可以是同一个进程,也可以是不同进程。既然是可以跨进程的,那么可以想像底层应该是基于Binder来实现的,事实也正是如此。2,为什么要有广播既然BroadcastReceiver是基于Binder的,那么用纯Binder进行通信就行了,为什么还要创造出B原创 2016-05-12 09:02:52 · 3041 阅读 · 0 评论 -
BroadcastReceiver源码解析(二)
广播注册部分见BroadcastReceiver源码解析(一)4,BroadcastReceiver之源码分析 4.1,动态注册过程源码分析在Activity中动态注册广播时,在注册方法之前其实省略了Context,也就是实际上调用的是Context. registerReceiver()。Context是一个抽象类,它是Client端和AMS,WMS等系统服务进行通信的接口,Activity、Se原创 2016-05-12 09:14:59 · 9737 阅读 · 2 评论 -
BroadcastReceiver中的那些设计模式
前文写过BroadCastReceiver的源码的分析BroadcastReceiver源码解析(二),文章很长终于把广播的注册和发送流程详细的分析了一遍。最近用RationalRose画了画它的类图,于是将BroadCastReceiver中涉及的设计模式分析分析,准备再扒一层。 由于技术水平有限,研究了BroadCastReceiver的过程中,目前只发现涉及到了三种设计模式,分别为观察者,代原创 2016-05-25 16:02:35 · 5330 阅读 · 0 评论