自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

郭霖的专栏

每当你在感叹,如果有这样一个东西就好了的时候,请注意,其实这是你的机会...

原创 Android事件分发机制完全解析,带你从源码的角度彻底理解(上)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9097463   其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Android事件分发的知识。也有好多朋友问过我各种...

2013-06-20 08:30:59

阅读数 376310

评论数 351

原创 Android Volley完全解析(一),初识Volley的基本用法

我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使...

2014-04-10 09:45:44

阅读数 337134

评论数 207

原创 Android LayoutInflater原理分析,带你一步步深入了解View(一)

有不少朋友跟我反应,都希望我可以写一篇关于View的文章,讲一讲View的工作原理以及自定义View的方法。没错,承诺过的文章我是一定要兑现的,而且在View这个话题上我还准备多写几篇,尽量能将这个知识点讲得透彻一些。那么今天就从LayoutInflater开始讲起吧。 相信接触Android久一...

2013-12-19 08:34:14

阅读数 299673

评论数 368

原创 Android Fragment完全解析,关于碎片你所需知道的一切

我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述。 但是Activity也有它的局限性,同样的界面在手机上显示可能很好看,在平板上就未必了,因为平板的屏幕非常大,手机的界面放在平板上可能会有过分被拉长、...

2013-05-07 09:33:45

阅读数 292866

评论数 199

原创 Android新特性介绍,ConstraintLayout完全解析

今天给大家带来2017年的第一篇文章,这里先祝大家新年好。 本篇文章的主题是ConstraintLayout。其实ConstraintLayout是Android Studio 2.2中主要的新增功能之一,也是Google在去年的I/O大会上重点宣传的一个功能。我们都知道,在传统的Android...

2017-02-03 09:14:39

阅读数 292221

评论数 245

原创 Android Service完全解析,关于服务你所需知道的一切(上)

相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了。Service作为Android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务。必...

2013-10-31 08:10:46

阅读数 277931

评论数 176

翻译 Android高效加载大图、多图解决方案,有效避免程序OOM

我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内...

2013-07-19 08:33:32

阅读数 227377

评论数 157

翻译 Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)

Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用户动作、界面导航等功能。使用ActionBar的好处是,它可以给提供一种全局统一的UI界面,使得用户在使用任何一款软件时都懂得该如何操作,并且Action...

2014-06-05 08:56:56

阅读数 224005

评论数 140

原创 Android视图绘制流程完全解析,带你一步步深入了解View(二)

在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的。如果你还没有看过我的上一篇文章,可以先去阅读 Android LayoutInflater原...

2013-12-26 08:30:56

阅读数 216521

评论数 182

原创 Android属性动画完全解析(上),初识属性动画的基本用法

在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(frame-by-frame animation)和补间动画(tweened animation)。逐帧动画的工作原理很简单,其实就是将一个完整的动画拆分成一张张单独...

2015-04-09 09:56:15

阅读数 172822

评论数 182

原创 Android数据库高手秘籍(二)——创建表和LitePal的基本用法

上一篇文章中我们学习了一些Android数据库相关的基础知识,和几个颇为有用的SQLite命令,都是直接在命令行操作的。但是我们都知道,数据库是要和程序结合在一起使用的,单独对一个数据库去进行増删改查操作并没有什么意义,因此今天我们就来学习一下如何在Android程序当中去操作SQLite数据库。...

2014-09-11 09:05:26

阅读数 171187

评论数 293

原创 Android自定义View的实现方法,带你一步步深入了解View(四)

不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析、视图的绘制流程、视图的状态及重绘等知识,算是把View中很多重要的知识点都涉及到了。如果你还没有看过我前面的几篇文章,建议先去阅读一下,多了解一些原理方面的东西。 之前...

2014-01-23 08:32:09

阅读数 165947

评论数 169

原创 Android状态栏微技巧,带你真正理解沉浸式模式

记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解。 其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的。因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersi...

2016-08-23 07:32:55

阅读数 163070

评论数 219

原创 Android Volley完全解析(二),使用Volley加载网络图片

在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法。本篇文章中我们即将学习关于Volley更加高级的用法,如何你还没有看过我的上一篇文章的话,建议先去阅读Android Volley完全解析(一),初识Volley的基本用法。 在上篇文章中有提到过,Volley是将AsyncHtt...

2014-04-17 09:23:22

阅读数 159146

评论数 121

原创 历久而新,我的新书《第二行代码》已出版!

《第二行代码》中的内容我相信很多人都会非常感兴趣,因为里面确实加入了很多很新的知识。略粗概括一下的话,新增内容就包括有Android Studio、Gradle、Material Design、运行时权限、多窗口模式、RecyclerView、百分比布局、Lambda表达式、OkHttp、Doze...

2016-11-23 09:49:08

阅读数 150922

评论数 833

原创 Android图片加载框架最全解析(一),Glide的基本用法

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/53759439 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。 现在Android上的图片加载框架非常成熟,从最早的...

2017-03-21 08:03:11

阅读数 145609

评论数 159

原创 Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能

最近项目中需要用到ListView下拉刷新的功能,一开始想图省事,在网上直接找一个现成的,可是尝试了网上多个版本的下拉刷新之后发现效果都不怎么理想。有些是因为功能不完整或有Bug,有些是因为使用起来太复杂,十全十美的还真没找到。因此我也是放弃了在网上找现成代码的想法,自己花功夫实现了一套非常简单的...

2013-07-12 08:34:13

阅读数 140180

评论数 267

原创 Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果

大家好,今天给大家带来一个仿360手机卫士悬浮窗效果的教程,在开始之前请允许我说几句不相干的废话。 不知不觉我发现自己接触Android已有近三个年头了,期间各种的成长少不了各位高手的帮助,总是有很多高手喜欢把自己的经验写在网上,供大家来学习,我也是从中受惠了很多,在此我深表感谢。可是我发现我却从...

2013-03-19 17:21:43

阅读数 139824

评论数 210

原创 Android Fragment应用实战,使用碎片向ActivityGroup说再见

现在Fragment的应用真的是越来越广泛了,之前Android的3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上,也有很多的场景可以运用到Fragment了,今天我们就来学习其中一个特别棒的应用技巧。 很多手机应...

2013-11-21 08:30:57

阅读数 138839

评论数 245

原创 Android照片墙应用实现,再多的图片也不怕崩溃

照片墙这种功能现在应该算是挺常见了,在很多应用中你都可以经常看到照片墙的身影。它的设计思路其实也非常简单,用一个GridView控件当作“墙”,然后随着GridView的滚动将一张张照片贴在“墙”上,这些照片可以是手机本地中存储的,也可以是从网上下载的。制作类似于这种的功能的应用,有一个非常重要的...

2013-08-02 08:23:32

阅读数 137806

评论数 194

原创 历时一年,我的著作《第一行代码——Android》已出版!

其实我当初决定开始写博客的想法挺简单的,觉得自己搞技术这么多年了,总应该要留下点什么。既然没能写出什么出色的应用,那至少也要留下点文字分享给大家,以指引在我后面的开发者们,毕竟我也从前辈们的博客那里受惠了很多。 下定决心之后我就开始了我的博客之旅,令我没想到的是,我写的文章竟然非常受大家的欢迎,短...

2014-07-17 09:13:42

阅读数 132491

评论数 703

原创 Android DiskLruCache完全解析,硬盘缓存的最佳方案

记得在很早之前,我有写过一篇文章Android高效加载大图、多图解决方案,有效避免程序OOM,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技术。但LruCache只是管理了内存中图片的存储与释放,如果图片从内存中被移除的话,那么又需要从网络上重...

2014-08-07 09:13:00

阅读数 130852

评论数 205

原创 Android安全攻防战,反编译与混淆技术完全解析(上)

我们都知道,Android程序打完包之后得到的是一个APK文件,这个文件是可以直接安装到任何Android手机上的,我们反编译其实也就是对这个APK文件进行反编译。Android的反编译主要又分为两个部分,一个是对代码的反编译,一个是对资源的反编译,我们马上来逐个学习一下。 在开始学习之前,首先...

2016-02-18 09:09:54

阅读数 130438

评论数 171

原创 Android Context完全解析,你所不知道的Context的各种细节

Context相信所有的Android开发人员基本上每天都在接触,因为它太常见了。但是这并不代表Context没有什么东西好讲的,实际上Context有太多小的细节并不被大家所关注,那么今天我们就来学习一下那些你所不知道的细节。我们知道,Android应用都是使用Java语言来编写的,那么大家可以...

2015-11-09 09:14:19

阅读数 130265

评论数 212

原创 Android事件分发机制完全解析,带你从源码的角度彻底理解(下)

记得在前面的文章中,我带大家一起从源码的角度分析了Android中View的事件分发机制,相信阅读过的朋友对View的事件分发已经有比较深刻的理解了。 还未阅读过的朋友,请先参考 Android事件分发机制完全解析,带你从源码的角度彻底理解(上) 。 那么今天我们将继续上次未完成的话题,从源码的角...

2013-07-05 08:26:56

阅读数 129060

评论数 194

原创 Android ListView工作原理完全解析,带你从源码的角度彻底理解

在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。 另外ListView还有一个非常神奇的功能,我...

2015-07-23 09:09:42

阅读数 127465

评论数 205

原创 Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程

在多数情况下,我们想要在界面上加载并展示一张图片只需要一行代码就能实现。虽说只有这简简单单的一行代码,但大家可能不知道的是,Glide在背后帮我们默默执行了成吨的工作。这个形容词我想了很久,因为我觉得用非常多这个形容词不足以描述Glide背后的工作量,我查到的英文资料是用tons of

2017-04-18 07:51:05

阅读数 126093

评论数 226

原创 Android Service完全解析,关于服务你所需知道的一切(下)

在上一篇文章中,我们学习了Android Service相关的许多重要内容,包括Service的基本用法、Service和Activity进行通信、Service的销毁方式、Service与Thread的关系、以及如何创建前台Service。以上所提到的这些知识点,基本上涵盖了大部分日常开发工作当...

2013-11-07 08:32:32

阅读数 113226

评论数 132

翻译 Android访问网络,使用HttpURLConnection还是HttpClient?

大多数的Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操作,HttpURLConnection和HTTPClient。这两种方式都支持HTTPS协议、以流的形式进行上传和下载、配置超时时间、IPv6、以及连接池等功能。 Defau...

2013-11-29 08:32:56

阅读数 110018

评论数 33

原创 Android AsyncTask完全解析,带你从源码的角度彻底理解

我们都知道,Android UI是线程不安全的,如果想要在子线程里进行UI操作,就需要借助Android的异步消息处理机制。之前我也写过了一篇文章从源码层面分析了Android的异步消息处理机制,感兴趣的朋友可以参考 Android Handler、Message完全解析,带你从源码的角度彻底理解...

2013-10-11 08:35:49

阅读数 109825

评论数 93

原创 Android最佳性能实践(一)——合理管理内存

有不少朋友都问过我,怎样才能写出高性能的应用程序,如何避免程序出现OOM,或者当程序内存占用过高的时候该怎么样去排查。确实,一个优秀的应用程序,不仅仅要功能完成得好,性能问题也应该处理得恰到好处。为此,我也是阅读了不少Android官方给出的高性能编程建议,那么从本篇文章开始,我就准备开始写一个全...

2015-02-05 09:20:28

阅读数 108591

评论数 109

原创 Android视图状态及重绘流程分析,带你一步步深入了解View(三)

在前面一篇文章中,我和大家一起从源码的层面上分析了视图的绘制流程,了解了视图绘制流程中onMeasure、onLayout、onDraw这三个最重要步骤的工作原理,那么今天我们将继续对View进行深入探究,学习一下视图状态以及重绘方面的知识。如果你还没有看过我前面一篇文章,可以先去阅读 Andro...

2014-01-09 08:33:38

阅读数 105589

评论数 64

原创 Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法

大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了。但是,正如上篇文章当中所说到的,属性动画对补间动画进行了很大幅度的改进,之前补间动画可以做到的属性动画也能做到,补间动画做不到的现在属性动画也可以做到了。...

2015-05-07 09:04:32

阅读数 105323

评论数 171

原创 Android数据库高手秘籍(七)——体验LitePal的查询艺术

经过了多篇文章的学习,我们已经把LitePal中的绝大部分内容都掌握了。现在回想起来了,增删改查四种操作中的前三种我们都已经学完了,不知道现在使用起数据库来,你有没有感觉到格外的轻松和简单。但是呢,我们都知道,在所有的数据库操作当中,查询操作肯定是最复杂的,用法也是最多的,因此LitePal在查询...

2014-11-13 09:03:29

阅读数 100707

评论数 158

原创 Android异步消息处理机制完全解析,带你从源码的角度彻底理解

我们都知道,Android UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃。相信大家在日常的工作当中都会经常遇到这个问题,解决的方案应该也是早已烂熟于心,即创建一个Message对象,然后借助Handler发送出去,之后在Handler的handleMessage()方法中...

2013-08-22 14:02:45

阅读数 100551

评论数 145

原创 Android drawable微技巧,你所不知道的drawable的那些细节

大家都知道,在Android项目当中,drawable文件夹都是用来放置图片资源的,不管是jpg、png、还是9.png,都可以放在这里。除此之外,还有像selector这样的xml文件也是可以放在drawable文件夹下面的。 但是如果你现在使用Android Studio来新建一个项目,你会发...

2016-04-28 09:06:26

阅读数 99366

评论数 194

原创 Android滑动菜单框架完全解析,教你如何一分钟实现滑动菜单特效

之前我向大家介绍了史上最简单的滑动菜单的实现方式,相信大家都还记得。如果忘记了其中的实现原理或者还没看过的朋友,请先去看一遍之前的文章 Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现 ,因为我们今天要实现的滑动菜单框架也是基于同样的原理的。 之前的文章中在最后也提到了,...

2013-04-02 11:19:46

阅读数 98122

评论数 243

原创 Android数据库高手秘籍(一)——SQLite命令

要想熟练地操作任何一个数据库,最最基本的要求就是要懂SQL语言,这也是每个程序员都应该掌握的技能。虽说SQL博大精深,要想精通确实很难,但最基本的一些建表命令,增删改查,大家还是必须要学会的。 SQL(Structured Query Language)是一种标准的数据库查询语言,即所有的关系型数...

2014-09-04 09:10:17

阅读数 97349

评论数 75

原创 Android Scroller完全解析,关于Scroller你所需知道的一切

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/48719871 2016大家新年好!这是今年的第一篇文章,那么应CSDN工作人员的建议,为了能给大家带来更好的阅读体验,我也是将博客换成了宽屏版。另外,作为一个对新鲜事物从来后知...

2016-01-21 09:03:50

阅读数 97097

评论数 178

原创 Android Volley完全解析(三),定制自己的Request

经过前面两篇文章的学习,我们已经掌握了Volley各种Request的使用方法,包括StringRequest、JsonRequest、ImageRequest等。其中StringRequest用于请求一条普通的文本数据,JsonRequest(JsonObjectRequest、JsonArra...

2014-04-29 09:02:46

阅读数 96117

评论数 102

提示
确定要删除当前文章?
取消 删除