- 博客(61)
- 资源 (6)
- 收藏
- 关注
原创 OkHttp缓存使用指南
HTTP缓存在Http协议中,缓存的控制是通过首部的Cache-Control来控制,通过对Cache-Control进行设置,即可实现不同的缓存策略。Cache-Control和其他的首部字段一样,使用key:value结构,同时value可有多个值, 值之间以,分隔(具体参考HTTP详解)。Cache-Control是一个通用首部字段,在Http请求报文中可使用,也可在应答报文中使用。
2018-01-21 15:56:56
1450
原创 HTTP详解
HTTP(HyperText Transfer Protocol),超文本传输协议,是一个基于TCP实现的应用层协议。报文格式HTTP1.0的报文有两种类型:请求和相应。其报文格式分别为:请求报文格式请求方法 URL HTTP/版本号请求首部字段(可选)空行body(只对Post请求有效)例如:GET http://m.baidu.com/ HTTP/1.1
2018-01-21 15:54:55
666
原创 网络编程之理论篇
网络通信作为互联网的技术支持,已被广泛应用在软件开发中,无论是Web,服务端,客户端还是桌面应用,都是必须掌握的一门技术。什么是网络编程?在软件开发层面实现远程数据交换的编程技术。网络编程的主要场景基于Http/Https的web,移动端的开发;基于TCP/UDP的IM,桌面应用的开发;自定义协议的开发。要熟悉网络编程,首先需要学习网络协议的相关知识。
2018-01-21 15:53:02
397
原创 简洁的下拉刷新组件
组件介绍一个极简的组件,核心代码只是一个自定义View,代码不超过500行,是一个学习事件分发和View滚动机制的不错选择。虽然代码比较少,但却提供了完整功能
2017-12-29 20:44:15
760
原创 解耦图片加载库
背景在APP开发过程,图片加载是一个不可或缺的模块,一般我们都会使用比较成熟的开源库,如Fresco, ImageLoader, Glide等。 这些开源库也都提供了简洁的使用方式,使我们可以快速完成图片的加载过程。但当我们更换图片加载库时,却发现这是一项艰巨的任务。
2017-12-22 20:36:25
270
原创 高仿Uber的类型选择控件
使用过Uber的朋友应该都发现了它的选择控件,感觉很人性化。之前的项目中也用到了,当时采用的重写SeekBar的onDraw方法来实现的。
2016-07-14 15:02:16
616
原创 Android如何将图片上传到七牛云存储
前段时间做个人中心页面时,添加了头像上传功能,当时使用的是七牛的云存储,个人感觉还不错。所以就总结一下Android使用七牛云存储的图片上传,具体的图片上传过程可参见另一篇文章,今天我们重点要说的是七牛的图片上传功能。
2016-05-16 19:09:53
6704
原创 ViewPager实现炫酷的滑动缩放广告页
ViewPager是Android开发中一个重要的控件,其轻量级的多页展示功能简化了开发过程,使我们能够快速构建一个App的引导页。但是,如果只是用来做引导页,那就太浪费了,其实我们可以将它打造的更炫酷一点。
2016-05-16 16:47:30
2377
原创 OkHttp框架缓存的缺陷
现在的App为了全面分析用户的使用习惯,在网络请求时一般都会获取手机的一些硬件或网络信息,比如使用的网络环境。同时为了信息传输的安全性,可能还会对请求进行加密。在这些情况下OkHttp的缓存系统就会失效了,导致用户在无网络情况下不能访问缓存。
2016-05-13 18:53:37
4291
原创 打造原生的图文混排控件
随着互联网的发展,信息展示的元素越来越丰富,无论是PC端,还是移动端,图文混排已经成为一种通用的信息展示方式,但在各个平台却都没有提供这种原生的控件。为了更方便地在开发中展示丰富的文本信息,便自定义了这个图文混排控件。
2016-05-05 20:01:36
5676
原创 打造史上最简单,最实用的Log工具类
在Android开发过程中,打印Log应该是程序员经常做的事情,毕竟在多数情况下比单步要方便,但是使用Android自带的Log工具类,在某种程度上难以满足我们的需求,比如: 1. 不能定位Log所在的位置; 2. 不能快速清除应用中的所有Log信息;基于以上两点,对Android提供的Log类进行了简单的封装,完成了一个功能强大的Log工具类,该工具类具有以下特点:可控制整个应用的Log输出
2015-11-13 19:50:46
1080
原创 Vim简易教程
目录目录介绍使用一般模式编辑模式命令模式快捷键一般模式命令模式其他重要命令1. 介绍:Vim时Linux内置的一款可定制的文本编辑器,用户可以根据自己的需求对其进行功能的补充。2. 使用:vim的操作分为三种模式:一般模式,编辑模式,命令模式。一般模式:当使用vi打开一个文件时,vi编辑器就处于一般模式,在此模式中,用户只能进行简单的操作:使用方向键移动光标,删除字符,复制/粘贴
2015-06-30 17:17:39
1202
转载 Linux 中 x86 的内联汇编
前言 如果您是 Linux内核的开发人员,您会发现自己经常要对与体系结构高度相关的功能进行编码或优化代码路径。您很可能是通过将汇编语言指令插入到C语句的中间(又称为内联汇编的一种方法)来执行这些任务的。让我们看一下Linux 中内联汇编的特定用法。(我们将讨论限制在 IA32 汇编。)GNU汇编程序简述 让我们首先看一下 Linux 中使用的基本汇编程序
2015-06-25 10:46:29
1071
转载 配置史上最好用的Vim
1写在前面 声明:由于没有找到此文章的原作者,所以只能从转载者的博客中转载而来,望文章的原作者能够见谅!转载自:http://blog.youkuaiyun.com/namecyf/article/details/7787479Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转
2015-06-24 14:28:56
8405
原创 Eclipse提交代码错误:rejected –non-fast-forward
Eclipse提交代码错误:rejected –non-fast-forward
2015-04-12 21:14:57
15476
1
原创 IP首部详解
4位版本4位首部长度8位服务类型(TOS)16位总长度16位标识符3位标志13位片偏移8位生存时间8位协议16位首部检验和32位源IP地址32位目的IP地址32位选项(若有)数据
2014-11-30 17:11:12
4098
1
原创 Linux下查看txt文档
当我们在使用Window操作系统的时候,可能使用最多的文本格式就是txt了,但是当我们将Window平台下的txt文本文档拷贝到Linux平台下查看时,发现原来的中文全部变成了乱码。没错, 引起这个结果的原因就是两个平台下,编辑器对默认的编码格式是不一样的:在Window平台下,Notepad的默认编码是ASCII码或者GBK,而在Linux平台下默认的是UTF-8(中文环境的情况),编码
2014-11-02 16:51:45
10217
原创 Linux 开机流程详解
对于任何系统, 开机不仅仅是接通电源这么简单的事情, 在这短短的几秒或几十秒内将会发生许多事情, 了解这个完整的流程将是解决任何开机问题或提高开机速度的前提. 接下来, 我们就详细了解一下Linux的开机流程: 1. 加载 BIOS 的硬件信息并进行自我测试,并依据取得第一个可开机的装置;2. 读取并执行第一个开机装置内 MBR 的 Boot Loader (如 grub, spfdisk
2014-10-18 16:20:45
2881
1
原创 Android 加载gif动画
今天想在应用的Loading页面加载一个gif动画,但又不知道怎么弄,就网上搜了下,看到好多人都是使用ant.cy.liao@gmail.com写的GifView.jar包,于是就简单了解了一下: 看了下作者的源码,编写的GifView继承自View,那么在使用的时候也就很方便了,可以当做一个普通的UI组件来用。 在使用普通的UI组件的时候,我们一般都使用如下的方式:
2014-04-29 12:18:24
2504
转载 Git详解之九 Git内部原理
转载自:http://www.open-open.com/lib/view/open1328070620202.html不管你是从前面的章节直接跳到了本章,还是读完了其余各章一直到这,你都将在本章见识 Git 的内部工作原理和实现方式。我个人发现学习这些内容对于理解 Git 的用处和强大是非常重要的,不过也有人认为这些内容对于初学者来说可能难以理解且过于复杂。正因如此我把这部分内容放在
2014-03-29 18:39:21
696
转载 Git详解之八 Git与其他系统
装载自:http://www.open-open.com/lib/view/open1328070454218.html世界不是完美的。大多数时候,将所有接触到的项目全部转向 Git 是不可能的。有时我们不得不为某个项目使用其他的版本控制系统(VCS, Version Control System ),其中比较常见的是 Subversion 。你将在本章的第一部分学习使用git svn ,
2014-03-29 18:35:37
810
转载 Git详解之七 自定义Git
装载自:http://www.open-open.com/lib/view/open1328070404827.html到目前为止,我阐述了 Git 基本的运作机制和使用方式,介绍了 Git 提供的许多工具来帮助你简单且有效地使用它。 在本章,我将会介绍 Git 的一些重要的配置方法和钩子机制以满足自定义的要求。通过这些工具,它会和你和公司或团队配合得天衣无缝。7.1 配置 Gi
2014-03-29 18:32:35
736
转载 Git详解之六 Git工具
装载自:http://www.open-open.com/lib/view/open1328070367499.html现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程。你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力。接下来你将领略到一些 Git 可以实现的非常强大的功能,这些功能你可能并不会在日常操作中使用
2014-03-29 18:30:03
1412
转载 Git详解之五 分布式Git
转载自:http://www.open-open.com/lib/view/open1328070090108.html分布式 Git为了便于项目中的所有开发者分享代码,我们准备好了一台服务器存放远程 Git 仓库。经过前面几章的学习,我们已经学会了一些基本的本地工作流程中所需用到的命令。接下来,我们要学习下如何利用 Git 来组织和完成分布式工作流程。特别是,当作为项目贡献者
2014-03-29 18:26:26
667
转载 Git详解之四 服务器上的Git
转载自:http://www.open-open.com/lib/view/open1328069988843.html服务器上的 Git到目前为止,你应该已经学会了使用 Git 来完成日常工作。然而,如果想与他人合作,还需要一个远程的 Git 仓库。尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度。另外,你也一定希望合作
2014-03-29 18:20:51
709
转载 Git详解之三 Git分支
转载自:http://www.open-open.com/lib/view/open1328069889514.htmlGit 分支几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间。有人把 Git 的分支
2014-03-29 18:16:52
923
转载 Git详解之二 Git基础
转载自:http://www.open-open.com/lib/view/open1328069733264.htmlGit 基础读完本章你就能上手使用 Git 了。本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更 新。我们还会展示如何让
2014-03-29 18:09:01
746
转载 Git详解之 Git起步
转载自:http://www.open-open.com/lib/view/open1328069609436.html起步本章介绍开始使用 Git 前的相关知识。我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作。读完本章,你就会明白为什么 Git 会如此流行,为什么你应该立即开始使用它。 1.1 关于版本
2014-03-29 18:05:38
809
转载 C语言的malloc()和free()的运行机制
转载自:http://blog.youkuaiyun.com/llhyy17/article/details/5375298一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有
2013-10-12 10:54:32
2998
1
数据库访问技术ADO Demo
2013-04-19
数据库访问技术ODBC Demo
2013-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人