10 2016 档案
摘要:AccessibilityService是Google专门为残障人士设计的一个服务,可以让他们更方便的来操作手机。AccessibilityService一个主要功能是通过监听窗口的变化来判断用户当前正在做什么,它可以监听到窗口焦点的变化,Activity的跳转,Activity中View的变化等...
阅读全文
摘要:最近在研究Android Framework层源码,发现我们对源码的理解应该建立在对API的理解之上,如果有一些API你没用过,那么即使你在源码中见到这个东西都不知道是干嘛的,更谈不上理解了。一直以来我都很想把View的绘制方法draw详细的走一遍,但是这里涉及到的细节问题是在是太多了,因此,今天我
阅读全文
摘要:最近在研究Android Framework层源码,发现我们对源码的理解应该建立在对API的理解之上,如果有一些API你没用过,那么即使你在源码中见到这个东西都不知道是干嘛的,更谈不上理解了。一直以来我都很想把View的绘制方法draw详细的走一遍,但是这里涉及到的细节问题是在是太多了,因此,今天...
阅读全文
摘要:有暇,弄了个音乐播放器,页面效果整体上参考了QQ音乐,相关API使用了易源数据提供的相关接口(https://www.showapi.com/api/lookPoint/213),在此表示感谢。先来看看效果图:应用程序主页面:排行榜页面:歌曲播放页面:歌曲播放通知栏以及下载通知栏(Android7...
阅读全文
摘要:最近在以QQ音乐为样板做一个手机音乐播放器,源码下篇博文放出。今天我想聊的是这个QQ音乐播放器中歌词显示控件的问题,和小伙伴们一起来探讨怎么实现这个歌词滚动的效果。OK,废话不多说,先来看看效果图:好,接下来我们就来看看怎么实现这样一个效果。本文主要包括如下几方面内容:1.歌词文件格式分析及解析2...
阅读全文
摘要:最近在以QQ音乐为样板做一个手机音乐播放器,源码下篇博文放出。今天我想聊的是这个QQ音乐播放器中歌词显示控件的问题,和小伙伴们一起来探讨怎么实现这个歌词滚动的效果。OK,废话不多说,先来看看效果图: 好,接下来我们就来看看怎么实现这样一个效果。本文主要包括如下几方面内容: 1.歌词文件格式分析及解析
阅读全文
摘要:关于View绘制系列的文章已经完成了四篇了,前面四篇文章主要带小伙伴们熟悉一下View的体系的整体框架、View的测量以及布局等过程,从本篇博客开始,我们就来看看View的绘制过程。View的绘制涉及到许多细小的知识点,一篇博客很难全部介绍清楚,所以我打算采用农村包围城市的方式,先把这里边会涉及到...
阅读全文
摘要:听到很多人在讨论MVVM,我自己早些时候也写过一篇介绍MVVM的文章(玩转Android之MVVM开发模式实战,炫酷的DataBinding! ),实际上,在Android开发领域中,除了MVVM之外,MVP也是一个非常好用的开发模式。至于什么是MVC、什么是MVP什么是MVVM应该不用我说了吧,...
阅读全文
摘要:上篇文章深入理解Binder(一),从AIDL谈起我们介绍了AIDL的基本使用,用AIDL两个App的通信是实现了,可是又有小伙伴疑惑了,为什么使用AIDL就能够实现两个App之间的通信?本文我们就来详细说说这个问题。Binder单从字面上理解,它有活页夹,粘合剂的意思,活页夹可以用来把两个东西夹...
阅读全文
摘要:打算写一篇Binder介绍的文章,仔细想想一篇文章貌似很难厘清,于是我打算从AIDL入手,本篇先来简单介绍下AIDL的使用,然后在此基础上我们继续来研究Binder的工作原理。小伙伴们都知道,AIDL(Android Interface definition language)是Android跨进...
阅读全文
摘要:上篇博客我们介绍了View的测量过程,这只是View显示过程的第一步,第二步就是layout了,这个我们一般译作布局,其实就是在View测量完成之后根据View的大小,将其一个一个摆放在ViewGroup中的过程。OK,那我们今天就来聊聊这个过程。在本文之前我已经有过三篇博客来介绍View的绘制过...
阅读全文
摘要:所有东西都是难者不会,会者不难,Android开发中有很多小伙伴觉得自定义View和事件分发或者Binder机制等是难点,其实不然,如果静下心来花点时间把这几个技术点都研究一遍,你会发现其实这些东西都很简单。OK,废话不多说,今天我们就来看看View的测量。View的测量纷繁复杂,不过如果能够做到...
阅读全文