Android源码导读
文章平均质量分 82
解析Android相关源码实现,学习设计模式
Tamic大白
90后充满朝气,自由,乐观,向上. 自信的... Github: https://github.com/Tamicer ,微信公众号:开发者技术前线,简书:http://www.jianshu.com/users/3bbb1ddf4fd5/latest_articles
展开
-
Android AppUasge统计一招制敌
Tamic/文 Google从 API 21 新增了接口 android.app.usage , 通过这个api我们可以统计到每个app的使用情况,启动次数,启动时间等,也可以判断是否前后台,比较方便,今天就来深入的学习一下 。Google从 API 21 新增了接口 android.app.usage , 通过这个api我们可以统计到每个app的使用情况,启动次数,启动时间等,也可以判断是原创 2017-05-02 23:50:33 · 7522 阅读 · 9 评论 -
AndroidUI之绘图机制和原理 最完整的文章
安卓深层绘图原理,成为安卓UI高手,从位图,矩阵,画笔,绘布,解析绘图技术。原创 2014-10-10 13:47:30 · 6823 阅读 · 2 评论 -
Android 高逼格纯代码实现类似微信钱包带分割线的GridView
Android 自定义类似微信钱包带分割线的GridView, 手把手学会微信或支付宝九宫格视图效果原创 2014-10-21 17:57:13 · 3603 阅读 · 1 评论 -
Android 实现高仿iOS桌面效果之可拖动的GridView(上)
1 GridView长按支持拖动排序,并支持Item实时交换。 2 GridView长按Item出现有抖动效果。 3 Item条目有抖动效果,时不需要长按点击就可以进行拖动效果。 4 拖动的Item和被拖动的Item左标完全重合后可新建文件夹 5 长按Item 出现删除按钮,此时点击删除按钮可以任意删除某一item 6 GridView横竖屏排列列数改变,横屏的行数是竖屏幕的列数原创 2014-10-14 11:46:58 · 7801 阅读 · 9 评论 -
Android Widget工作原理详解(一) 最全介绍
讲解怎么创建一个widget,并且给其点击事件,并介绍了其相关的类,以及widget的相关管理。当widget指定其具体的AppWidgetProvider,AppWidgetProvider通过创建RemoteViews来加载视图,其RemoteViews将会调用setRemoteViewsAdapter来设置内部适配器,此适配器也将会继续获取widget管理器调用updateAppWidget()方法,此方法有会用远程视图工厂(RemoteViewsFactroy)来初始化数据并调用其onDataSe翻译 2015-07-12 20:40:30 · 13918 阅读 · 1 评论 -
Android ViewManger解析 从ViewRoot 源码分析invalidate
Android invalidate() View你不知道的那些事, 好了 该回答以上问题了,view重新绘制时,会进行参数重新加载,会进行重新测量,布局,以绘制的,view的任何一个改变也会触发自己的draw()方法,requestLayout()最终也会执行invalidate(),当然今天我没做介绍,但是你要知道view改变,必定重绘的道理,知道了今天的内容以后我们再来分析requestLayout()过程。原创 2015-09-14 21:37:31 · 3564 阅读 · 0 评论 -
Android ViewManager解读之requestLayout() 详解
看了两篇,终于可以做总结了,还是很多疑问没有解开,那到底invalidate()和requestLayout()有什么区别,当我们通过源码分析得出不管哪个方法都会执行draw(),那么上篇中我也做了细说invalidate(),invalidate()也会执行我们的onmeasure(),layout,draw(),但是它和resquestLayout()的不同之处,他不会清楚我们测量的缓存,当然也不会重新回调measure,但是他会重新走Layout()过程,最终他们的目的都是重新绘制view,但是细微区原创 2015-09-15 15:57:34 · 3867 阅读 · 0 评论 -
Android PackageManager源码浅析以及静默安装实现方式
实现静默安装** 通过了解了上面pm的简单工作原理,我们就可以想到静默安装的途径通过伪造自己的Pm实现开放的api,并且采用自己的IPackageInstallObserver,说道这里你估计会不明白此类用来干嘛的。此观察者是用来检测apk是否安装的的回调,那么卸载同样有自己的观者这,此通过aidl和pms进行通讯,我们可以从源码copy一份到自己的项目下面原创 2016-01-05 20:26:37 · 9223 阅读 · 7 评论 -
Android Preference详解
Preference 用来管理应用程序的偏好设置和保证使用这些的每个应用程序的所有参数 拥有同样的方式和用户体验 并且系统和其他应用程序的UI保持偏一致。一个应用程序的偏好部分应作为一个独立的活动扩展preferenceactivity类 类中的对象应该是preferencescreen ,preferencescreen包含偏好等元素的布局的根元素 比如checkboxpreferenc原创 2015-01-05 22:41:56 · 11989 阅读 · 2 评论