【<转载>Android源码解析】
文章平均质量分 87
Carry_小超
上帝赋予人类说话的能力,而言语又创造了思想,思想是人类对宇宙的量度
展开
-
Android 属性动画(Property Animation) 源码解析 深入了解其内部实现
1、概述Android中想做很炫酷的动画效果,相信在很多时候你都可以选择使用属性动画,关于属性动画如何使用,我们已经很详细的写过两篇博客讲解。如果你还不了解,请参考:Android 属性动画(Property Animation) 完全解析 (上)Android 属性动画(Property Animation) 完全解析 (下)本篇博客将分析属性动画的实现源码,转载 2015-03-12 11:59:18 · 760 阅读 · 0 评论 -
Android RecyclerView 使用完全解析 体验艺术般的控件
概述RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,例如:ListView、GridView。那么有了ListView、GridView为什么还需要RecyclerView这样的控件呢?整体上看RecyclerView架构转载 2015-04-24 12:17:18 · 926 阅读 · 0 评论 -
Android 基于Message的进程间通信 Messenger完全解析
一、概述说到Android进程间通信,大家肯定能想到的是编写aidl文件,然后通过aapt生成的类方便的完成服务端,以及客户端代码的编写。如果你对这个过程不熟悉,可以查看Android aidl Binder框架浅析;当然今天要说的通信方式肯定不是通过编写aidl文件的方式,那么有请今天的主角:Messenger。ok,这是什么样的一个类呢?我们看下注释This allow转载 2015-07-24 16:00:44 · 542 阅读 · 0 评论 -
Android ViewDragHelper完全解析 自定义ViewGroup神器
一、概述在自定义ViewGroup中,很多效果都包含用户手指去拖动其内部的某个View(eg:侧滑菜单等),针对具体的需要去写好onInterceptTouchEvent和onTouchEvent这两个方法是一件很不容易的事,需要自己去处理:多手指的处理、加速度检测等等。 好在官方在v4的支持包中提供了ViewDragHelper这样一个类来帮助我们方便的编写自定义ViewGroup。转载 2015-07-17 10:32:50 · 477 阅读 · 0 评论 -
FloatingActionButton 完全解析[Design Support Library(2)]
哈,跟随着上篇Android 自己实现 NavigationView [Design Support Library(1)]之后,下面介绍个Design Support Library中极其简单的控件:FloatingActionButton。一、简单使用布局: android.support.design.widget.FloatingActionButton转载 2015-07-07 11:54:58 · 838 阅读 · 0 评论 -
Android DiskLruCache完全解析,硬盘缓存的最佳方案
概述记得在很早之前,我有写过一篇文章Android高效加载大图、多图解决方案,有效避免程序OOM,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技术。但LruCache只是管理了内存中图片的存储与释放,如果图片从内存中被移除的话,那么又需要从网络上重新加载一次图片,这显然非常耗时。对此,Google又提供了一套硬盘缓存的解决方案:Disk转载 2015-03-19 17:28:55 · 481 阅读 · 0 评论 -
Android 动画详解之Tween动画
一个Tween动画将对于View对象的内容进行一系列简单的转换,在animation提供了所以关于Tween动画的类,主要有四个常用的类,AlphaAnimation(透明度渐变),RotateAnimation(旋转动画),ScaleAnimation(图片缩放动画),TranslateAnimation(移动动画),AnimationSet(一个动画的集合类),以下是对常用动画特效类的构造方法转载 2015-03-26 15:18:54 · 454 阅读 · 0 评论 -
Android 百分比布局库(percent-support-lib) 解析与扩展
一、概述周末游戏打得过猛,于是周天熬夜码代码,周一早上浑浑噩噩的发现android-percent-support-lib-sample这个项目,Google终于开始支持百分比的方式布局了,瞬间脉动回来,啊咧咧。对于这种历史性的时刻,不出篇博客难以表达我内心的激动。还记得不久前,发了篇博客:Android 屏幕适配方案,这篇博客以Web页面设计引出一种适配方案,最终的目的就是可以通转载 2015-07-07 12:01:56 · 550 阅读 · 0 评论 -
Android 自己实现 NavigationView [Design Support Library(1)]
一、概述Google I/O 2015 给大家带来了Android Design Support Library,对于希望做md风格的app的来说,简直是天大的喜讯了~大家可以通过Android Design Support Library该文章对其进行了解,也可以直接在github上下载示例代码运行学习。为了表达我心中的喜悦,我决定针对该库写一系列的文章来分别介绍新增加的控件。转载 2015-07-07 11:51:57 · 762 阅读 · 0 评论 -
Android Https相关完全解析 当OkHttp遇到Https
一、概述其实这篇文章理论上不限于okhttp去访问自签名的网站,不过接上篇博文了,就叫这个了。首先要了解的事,okhttp默认情况下是支持https协议的网站的,比如https://www.baidu.com,https://github.com/hongyangAndroid/okhttp-utils等,你可以直接通过okhttp请求试试。不过要注意的是,支持的https的网站基本都是CA机转载 2015-10-30 16:19:56 · 738 阅读 · 1 评论 -
Volley 图片加载相关源码解析
一 概述最近在完善图片加载方面的代码,于是就看看Volley的图片加载相关源码,取取经,顺便写篇博文作为笔记记录下。在使用Volley作为图片加载库的时候,肯定需要做以下几件事:Application中初始化Volley请求队列初始化ImageLoader,需要设置ImageCache需要的时候,调用 getInstance().getImageLoader().get(url,转载 2015-10-30 16:25:51 · 524 阅读 · 0 评论 -
浅谈 MVP in Android
一、概述对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让Model和View完全解耦”等等。本篇博文仅是为了做下记录,提出一些自己的看法,和帮助大家如何针对一个Activity页面去编写针对MVP风格的代码。对于MVP,我的内心有一个问题:为何这个模式出来后,就能被广大的Android的程序员接受呢?问了些转载 2015-07-07 11:40:31 · 476 阅读 · 0 评论 -
Android ListView工作原理完全解析,带你从源码的角度彻底理解
在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。另外ListView还有一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到成百上千条甚至更多,转载 2015-07-24 16:03:15 · 800 阅读 · 0 评论 -
Android DiskLruCache 源码解析 硬盘缓存的绝佳方案
一、概述依旧是整理东西,所以近期的博客涉及的东西可能会比较老一点,会分析一些经典的框架,我觉得可能也是每个优秀的开发者必须掌握的东西;那么对于Disk Cache,DiskLruCache可以算佼佼者了,所以我们就来分析下其源码实现。对于该库的使用,推荐老郭的blog Android DiskLruCache完全解析,硬盘缓存的最佳方案如果你不是很了解用法,那么注意下面的几转载 2015-08-03 13:56:08 · 571 阅读 · 0 评论 -
Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、 概述Handler 、 Looper 、Message 这三者都与Android异步消息处理线程相关的概念。那么什么叫异步消息处理线程呢?异步消息处理线程启动后会进入一个无限的循环体之中,每循转载 2015-03-16 10:51:37 · 477 阅读 · 0 评论 -
Android ViewGroup事件分发机制
上一篇已经完整的解析了Android View的事件分发机制,今天给大家代码ViewGroup事件分发的源码解析~~凡是自定义ViewGroup实现各种滑动效果的,不可避免的会出现很多事件的冲突,对ViewGroup事件分发机制的了解,也有益于大家了解冲突产生的原因,以及对冲突进行处理~1、案例首先我们接着上一篇的代码,在代码中添加一个自定义的LinearLayout:转载 2015-03-11 17:42:30 · 495 阅读 · 0 评论 -
Android View 事件分发机制 源码解析
1、案例为了更好的研究View的事件转发,我们自定以一个MyButton继承Button,然后把跟事件传播有关的方法进行复写,然后添加上日志~MyButton[java] view plaincopypackage com.example.zhy_event03; import android.content.C转载 2015-03-11 17:40:16 · 542 阅读 · 0 评论 -
Android AsyncTask 源码解析
1、概述相信大家对AsyncTask都不陌生,对于执行耗时任务,然后更新UI是一把利器,当然也是替代Thread + Handler 的一种方式。如果你对Handler机制还不了解,请看:Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系。2、简单的例子相信大家都写过这样的代码:[java] vi转载 2015-03-16 13:46:35 · 397 阅读 · 0 评论 -
Android官方提供的支持不同屏幕大小的全部方法
原文地址为:http://developer.android.com/training/multiscreen/screensizes.html本文将告诉你如何让你的应用程序支持各种不同屏幕大小,主要通过以下几种办法:让你的布局能充分的自适应屏幕根据屏幕的配置来加载合适的UI布局确保正确的布局应用在正确的设备屏幕上提供可以根据屏幕大小自动伸缩的图片使用 "wrap_转载 2015-03-17 14:42:02 · 526 阅读 · 0 评论 -
Android 带你从源码的角度解析Scroller的滚动实现原理
今天给大家讲解的是Scroller类的滚动实现原理,可能很多朋友不太了解该类是用来干嘛的,但是研究Launcher的朋友应该对他很熟悉,Scroller类是滚动的一个封装类,可以实现View的平滑滚动效果,什么是实现View的平滑滚动效果呢,举个简单的例子,一个View从在我们指定的时间内从一个位置滚动到另外一个位置,我们利用Scroller类可以实现匀速滚动,可以先加速后减速,可以先减速后加速等转载 2015-03-30 16:56:06 · 384 阅读 · 0 评论 -
Android Service完全解析,关于服务你所需知道的一切(下)
在上一篇文章中,我们学习了Android Service相关的许多重要内容,包括Service的基本用法、Service和Activity进行通信、Service的销毁方式、Service与Thread的关系、以及如何创建前台Service。以上所提到的这些知识点,基本上涵盖了大部分日常开发工作当中可能使用到的Service技术。不过关于Service其实还有一个更加高端的使用技巧没有介绍,即远程转载 2015-03-17 16:55:55 · 478 阅读 · 0 评论 -
Android Service完全解析,关于服务你所需知道的一切(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11952435相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了。Service作为Android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些耗时的逻辑,转载 2015-03-17 16:54:29 · 463 阅读 · 0 评论 -
Android HandlerThread 完全解析
1、概述话说最近股市变动不变,也成了热火朝天的话题。不知道大家有没有考虑做个实时更新股市数据的app呢?假设我们要做一个股市数据实时更新的app,我们可以在网上找个第三方的股市数据接口,然后在我们的app中每隔1分钟(合适的时间)去更新数据,然后更新我们的UI即可。当然了,本文不是要教大家做这样一个app,只是举个场景。言归正传,回到我们的HandlerThread,大家一定听说过转载 2015-08-03 13:51:37 · 561 阅读 · 0 评论 -
Android IntentService完全解析 当Service遇到Handler
一 概述大家都清楚,在Android的开发中,凡是遇到耗时的操作尽可能的会交给Service去做,比如我们上传多张图,上传的过程用户可能将应用置于后台,然后干别的去了,我们的Activity就很可能会被杀死,所以可以考虑将上传操作交给Service去做,如果担心Service被杀,还能通过设置startForeground(int, Notification)方法提升其优先级。转载 2015-08-03 13:54:16 · 398 阅读 · 0 评论 -
Android OkHttp完全解析 是时候来了解OkHttp了
一、概述最近在群里听到各种讨论okhttp的话题,可见okhttp的口碑相当好了。再加上Google貌似在6.0版本里面删除了HttpClient相关API,对于这个行为不做评价。为了更好的在应对网络访问,学习下okhttp还是蛮必要的,本篇博客首先介绍okhttp的简单使用,主要包含:一般的get请求一般的post请求基于Http的文件上传文件下载加载图片支持请求回调,直接返回对转载 2015-10-30 16:04:01 · 636 阅读 · 0 评论