自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

转载 android长连接心跳机制

在写之前,我们首先了解一下为什么android维护长连接需要心跳机制,首先我们知道,维护任何一个长连接都需要心跳机制,客户端发送一个心跳给服务器,服务器给客户端一个心跳应答,这样就形成客户端服务器的一次完整的握手,这个握手是让双方都知道他们之间的连接是没有断开,客户端是在线的。如果超过一个时间的阈值,客户端没有收到服务器的应答,或者服务器没有收到客户端的心跳,那么对客户端来说则断开

2015-11-30 22:21:32 26191

转载 Http长连接

HTTP实现长连接HTTP是无状态的 也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。如果客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源,如JavaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个HTTP会话HTTP1.1和HTTP1.0相比较而言,最大的区

2015-11-29 21:10:46 439

转载 Http

Http有两类报文:(1):请求报文-----从客户端向服务器发送的请求报文。(2):响应报文-----从服务器到客户的回答(即响应报文)。报文结构如下图:左边是请求报文。右边是响应报文HTTP请求报文和响应报文都是由三个部分组成。可以看出这二种报文的不同在于开始行的不同。开始行:用于区分是请求报文还是响应报文。在请求报文中开始行叫做请求

2015-11-29 20:16:11 421

转载 IP协议以及IP地址分类

网络层(network layer)是实现互联网的最重要的一层。正是在网络层面上,各个局域网根据IP协议相互连接,最终构成覆盖全球的Internet。更高层的协议,无论是TCP还是UDP,必须通过网络层的IP数据包(datagram)来传递信息。操作系统也会提供该层的socket,从而允许用户直接操作IP包。IP数据包是符合IP协议的信息(也就是0/1序列),我们后面简称IP数据包为IP包

2015-11-29 19:15:19 1128

原创 android的定时任务

android的定时任务有两种实现方式

2015-11-28 22:03:10 936

原创 android动画

2种Animation模式:1. Tween Animation补间动画:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画。开发者只需提供动画开始和结束的关键帧,而动画变化的中间帧则由系统计算并补齐。2. Frame Animation:顺序播放事先做好的图像,是一种画面转换动画。由系统控制依次显示这些静态的图片,利用人眼视觉暂留,给用户造成动画的

2015-11-28 19:58:23 764

原创 Style和Theme的区别

1.什么是Style及Theme?两者有何区别   (1) Theme是针对窗体级别的,改变窗体样式的,如窗口标题、边框等。不能作用于单个View组件,是对整个应用的所有Activity或单个Activity起作用。   (2) Style是针对窗体元素级别的,改变指定控件或者Layout的样式   使用Style        (1)创建Style  

2015-11-27 09:36:43 1885

转载 Asset目录与res目录

android中的资源文件,主要分为两类:一种出于assets目录下,称为原生文件,无法通过R资源清单类访问,这类文件在被打包成apk文件时是不会进行压缩的;一类则是res下的文件,这类文件在打包成apk文件时,可通过R资源清单类访问,会进行小内存优化的哦。 两种不同类型的文件,对应着不同的访问模式。我们先来看看asset文件的访问:     android中有

2015-11-26 22:20:58 2275

原创 android事件处理机制

Android提供了两套事件处理机制:  基于监听的事件处理  基于回调的事件处理 基于监听的事件处理,做法就是为Android界面组件绑定特定的事件监听器。基于回调的事件处理,就是重写Android组件特定的回调方法,或者重写Activity的回调方法。Activity为绝大部分界面组件提供了事件响应的回调方法,只要重写他们即可。一般来说,

2015-11-26 21:50:08 1105 1

翻译 android访问网络:HttpURLConnection和HttpClient

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12452307最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2.2及以下版本,使用的是HttpClient。我也比较好奇这么使用的原因,于是专门找到

2015-11-26 17:23:03 656

转载 Volley源码解析

经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚。因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地梳理一遍。同时,这也是Volley系列的最后一篇文章了。其实,Volley的官方文档中本身就附有了一张Volley的工作流程图,如下图所示。说起分析源码,那么应该从哪儿

2015-11-26 16:45:34 404

转载 Volley之自定义XMLRequest

经过前面两篇文章的学习,我们已经掌握了Volley各种Request的使用方法,包括StringRequest、JsonRequest、ImageRequest等。其中StringRequest用于请求一条普通的文本数据,JsonRequest(JsonObjectRequest、JsonArrayRequest)用于请求一条JSON格式的数据,ImageRequest则是用于请求网络上的一张图片

2015-11-26 16:26:39 326

转载 Volley以及用Volley实现照片墙

郭霖的volley完全解析Volley加载图片实现了两级缓存(网络缓存、文件缓存),没有实现内存的缓存。Volley已经把各种异步任务、图片采样都封装好了。内存缓存使用lrucache类实现,需要我们手动添加进去。没有使用软引用缓存。因为4.0之后的android系统已经不推荐使用软引用缓存了。2、volley的总体设计3、volley可以做什么

2015-11-26 15:40:44 524

转载 TCP拥塞控制

计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。       拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制。TCP的拥塞控制1.

2015-11-26 10:20:50 983

原创 SQLite基本操作

SQLite是Android使用的轻量级的数据库,开发Android应用是对数据库的操作自然是必不可少。Android提供了一个SQLiteOpenHelper类来可以很方便的操作数据库,继承和扩展SQLiteOpenHelper类主要做的工作就是重写以下两个方法。        onCreate: 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行

2015-11-26 09:48:45 383

原创 解析XML:DOM、SAX、PULL

这三种方法中DOM最耗内存,因为它是把整个文件加载进去然后进行分类整理的,PULL和SAX类似,只是SAX要用到一个解析类,类中的主要三个方法完成内容的解析。》Sax定义         SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于android等移动设备         SAX全称是Simple API for Xml,既是指一种接口,也是

2015-11-26 09:16:02 461

转载 网络传输文本数据格式JSON

下面我们就volley框架为例,讲讲json的使用与解析。1.json是什么?为什么不使用xml?json是一种轻量级的数据交换格式格式:JSON 的书写格式是:名称/值对--例如:"username":"1011"结构:在volley中有三种格式的数据可以传输,其中有一个就是String,其他两个就是json的两种书写格式对象结构:使用{ };数组结构

2015-11-25 19:45:10 5725

转载 volley

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/47721631; 本文出自:【张鸿洋的博客】一 概述最近在完善图片加载方面的代码,于是就看看Volley的图片加载相关源码,取取经,顺便

2015-11-25 17:37:30 208

翻译 Context

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40481055,本文出自:【张鸿洋的博客】本文大多数内容翻译自:http://www.doubleencore.com/2013/06/context/  我重新组织了下内容以及结构,建议大家尽可能看下原文。1、Context概念其实一直想写一篇

2015-11-25 17:17:48 279

转载 布局优化:<include/>和ViewStub

当创建复杂的布局的时候,有时候会发现添加了很多的ViewGroup和View。随之而来的问题是View树的层次越来越深,应用也变的越来越慢,因为UI渲染是非常耗时的。这时候就应该进行布局优化了。这里介绍两种方式,分别为标签和ViewStub类。使用是为了避免代码的重复。设想一种情况,我们需要为app中的每个视图都添加一个footer,这个footer是一个显示a

2015-11-25 16:55:09 381

原创 泛型

Java的泛型机制是与C++不同的,它采用的是擦除机制,所以泛型在java中是一种折中的处理方案,而不是java本身的一种特性。由于采用的擦除机制,所以在运行时,对使用泛型的对象进行类型判断是有很严重的问题的。例如:[java] view plaincopyprint?List list1=new ArrayList();  List

2015-11-24 21:19:48 638 1

转载 RecyclerView实现Gallery

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38173061 ,本文出自:【张鸿洋的博客】上一篇博客我使用自定义HorizontalScrollView写了一个具有HorizontalScrollView效果和ViewPag

2015-11-24 20:27:26 353

转载 Fragment你应该知道的一切

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42628537,本文出自:【张鸿洋的博客】很久以前写过两篇Fragment的介绍,主要就是介绍其功能:Android Fragment 真正的完全解析(上)和Android

2015-11-24 17:18:57 451

转载 Android官方推荐:DialogFragment创建对话框

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/378154131、 概述DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话

2015-11-24 15:08:56 514

转载 Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请表明出处:http://blog.csdn.net/lmj623565791/article/details/379362751、概述众所周知,Activity在不明确指定屏幕方向和configChanges时,当用户旋转屏幕会重新启动。当然了,应对这种情况,Android给出了几种方

2015-11-24 11:59:16 647

转载 Fragment完全解析(下)

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上)。

2015-11-24 11:42:31 419

转载 Fragment完全解析(上)

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37970961自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fragment谈上关系,做什么都要问下Fragment能实现不~~~哈哈,是不是有点过~~~

2015-11-24 11:39:24 264

原创 px、pt、dp、dip、sp

px:像素,1px代表屏幕上一个物理的像素点px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同,如下图所示(图片来自android developer guide,下同)。偶尔用到px的情况,是需要画1像素表格线或阴影线的时候,用其他单位如dp会显得模糊。dp:密度无关像素,在不同密度的屏幕中的显示比例保持一致这个是最常用但也

2015-11-24 08:54:55 330

转载 MVP

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46596109; 本文出自:【张鸿洋的博客】一、概述对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的

2015-11-23 16:59:00 278

转载 进程间通信IPC机制和Binder

版权声明:本文为博主原创文章,未经博主允许不得转载。        在Android系统中,每一个应用程序都是由一些Activity和Service组成的,这些Activity和Service有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。        

2015-11-23 16:26:22 455

转载 TCP、UDP以及TCP滑窗,它们的区别

面向报文(UDP)和面向字节流(TCP)的区别面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率。若太短,会是IP太小。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这也就是说,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。面向字

2015-11-22 14:51:52 3168

转载 OSI和TCP/IP

lTCP/IP协议栈具有简单的分层设计,与OSI参考模型有清晰的对应关系。 常见的应用划分:  物理层:以太网 · 调制解调器 · 电力线通信(PLC) · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线等 数据链路层:Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) · ARP ·

2015-11-22 14:45:17 430

转载 虚拟地址、逻辑地址、线性地址、物理地址

1. 两个内存概念物理内存:人尽皆知,就是插在主板上的内存条。他是固定的,内存条的容量多大,物理内存就有多大(集成显卡系统除外)。但是如果程序运行很多或者程序本身很大的话,就会导致大量的物理内存占用,甚至导致物理内存消耗殆尽。虚拟内存:简明的说,虚拟内存就是在硬盘上划分一块页面文件,充当内存。当程序在运行时,有一部分资源还没有用上或者同时打开几个程序却只操作其中一个程序时,系统没必要将程序

2015-11-22 10:58:56 9951 2

转载 进程和线程

线程和进程区别1、线程的基本概念    概念:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。    好处 :(1)易于调度。

2015-11-22 10:48:08 292

转载 Error和Exception

1、finally{}会在catch完成后执行;2、catch中有return,catch后有finally{}————finally中内容,会在return前执行;一、简介Java为我们提供了非常完美的异常处理机制,使得我们可以更加专心的去写程序,有的时候遇到需要添加异常处理块的地方,像eclipse会自动提示你,感觉很幸福!我们看看异常处理的一些类的结构组成:

2015-11-22 10:18:56 788

转载 Bitmap四种属性

我们知道Android系统分配给每个应用程序的内存是有限的,Bitmap作为消耗内存大户,我们对Bitmap的管理稍有不当就可能引发OutOfMemoryError,而Bitmap对象在不同的Android版本中存在一些差异,今天就给大家介绍下这些差异,并提供一些在使用Bitmap的需要注意的地方。在Android2.3.3(API 10)及之前的版本中,Bitmap对象与其像素数据是分开

2015-11-21 20:30:33 10696 1

原创 抽象和接口

抽象类特征:1.抽象类和抽象方法都必须用abstract关键字来修饰。2.抽象类不能被实例化,也就是不能用new关键字去产生对象。3.抽象方法只需声明,而无需实现.4.抽象方法必须定义在抽象类中,抽象类的子类必须实现父类中的抽象方法,否则这个子类还是个抽象类。 接口的特征如下:1.接口没有构造方法。2.接口中声明变量均为终极(final)

2015-11-21 19:35:58 1392

原创 Override和Overload

Override和Overload的区别?Overloaded的方法是否可以改变返回值的类型?     (1)方法的重写Override和重载Overload是Java多态性的不同表现。     override是方法覆盖,用在父子类中,是方法名字相同,参数列表也相同,声明形式都相同,但是子类方法的权限不允许小于父类,不允许抛出比父类更多的异常。调用子类的方法与父类的同名方法无关,

2015-11-21 19:16:46 432

原创 Thread、Runnable以及线程的生命周期

首先 Thread是类,Runable是接口。线程的起动并不是简单的调用了你的RUN方法,而是由一个线程调度器来分别调用你的所有线程的RUN方法,我们普通的RUN方法如果没有执行完是不会返回的,也就是会一直执行下去,这样RUN方法下面的方法就不可能会执行了,可是线程里的RUN方法却不一样,它只有一定的CPU时间,执行过后就给别的线程了,这样反复的把CPU的时间切来切去,因为切换的速度很快,

2015-11-21 14:54:28 7954

转载 ViewGroup事件分发机制

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39102591,本文出自【张鸿洋的博客】上一篇已经完整的解析了Android View的事件分发机制,今天给大家代码ViewGroup事件分发的源码解析~~凡是自定义ViewGr

2015-11-20 19:13:46 361

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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