自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嘻哈包袱铺 专栏

github开源项目 https://github.com/GeekGhost/Ghost

  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android 设计模式实战笔记 外观模式(统一编程接口)

定义:要求子系统的外部与其内部的通信必须通过一个统一的对象进行,使用使用场景:1.为一个复杂子系统一共一个简单接口,对象隐藏子系统的具体实现,隔离变化实战电话接口public interface Phone { public void dail(); public void hangup();}电话实现类public c

2016-11-18 15:25:51 343

原创 Android 设计模式实战笔记 享元模式

定义:享元模式是对象池的一种实现,用来尽可能减少内存使用量,使用共享对象存在大量的相似对象使用使用场景:1.系统中存在大量的相似对象2.细微粒的对象都具备较接近的外部状态,而且内部状态与环境无关,也就是说对象没有特定状态3.需要缓冲池的场景实战创建一个接口展示车票新的的函数public interface Ticket {

2016-11-18 15:06:31 334

原创 Android 设计模式实战笔记 代理模式

定义:为其他对象提供一种代理以控制对这个对象的访问使用使用场景:1.当无法或不想直接访问某个对象或者访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,委托对象与代理对象需要实现相同的接口实战不同API发送通知为例来说明代理模式64dpHeight、256dp Height和headsUpContentView定

2016-11-17 16:58:10 451

原创 Android 设计模式实战笔记 状态模式

定义:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类使用使用场景:1.一个对象的行为取决于它的状态,并且它的状态必须在运行时根据状态改变它的行为2.代码中包含大量与对象状态有关的条件语句,例如,一个操作中含有庞大的多分支语句 if -else且这些分支依赖该对象的状态实战用户登录系统取在普通的应用中,一个转发按钮,判断

2016-11-16 14:36:21 428

原创 Android 设计模式实战笔记 策略模式

定义:定义了一系列的算法,并将每一个算法封装起来,而且使他们还可以互相替换,策略模式让算法独立使用它的客户而独立变化使用使用场景:1.针对同一类型问题的多种处理方式,仅仅是具体行为有差别时2.需要安全地封装多种同一类型的操作3.出现同一抽象类有多个子类,而又需要使用if else或者switch-case来选择具体子类时实战问题:ImageLoader的

2016-11-14 17:23:53 343

原创 Android 设计模式实战笔记 工厂方法模式

定义:定义一个用于创建对象的接口,让子类决定实例化哪个类使用使用场景:在任何需要生成复杂对象的地方,都可以使用工厂方法模式,复杂对象适合使用工厂模式,用new就可以完成创建的对象无需使用工厂模式。实战式。数据存储为例,Android数据持有化有很多种方式,SharePrefence和SQlite,但是都是增删改查,把共同 的方法抽象出来。publ

2016-11-14 15:33:56 379

原创 Android 设计模式实战笔记 原型模式

定义:用原型模式指定创建对象的种类,并通过拷贝这些原型创建新的对象使用使用场景:1.类初始化需要消化非常多的资源,如数据,硬件资源,通过原型拷贝避免这些消耗2.通过new产生一个对象需要非常繁琐的数据准备,这时可以使用原型模式,用原型模式拷贝多个对象供调用者使用,暨保护性拷贝。3.一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,实

2016-11-14 15:02:31 254

原创 Android 设计模式实战 单例模式

定义:确保某一个类只有一个实例,并且自行实例化并向整个系统提供这个实例使用使用场景:确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,例如,创建一个对象需要消耗的资源过多,如要访问IO和数据库等资源,这时使用单例模式实战 DCL doubule check lockprivate volatile static ImageLoader ins

2016-11-14 14:42:14 327

原创 Android 设计模式实战 Builder模式

定义:将一个负责对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示使用使用场景:1.相同的方法,不同的执行顺序,产品不同的结果2.当初始化一个对象特别复杂,如参数多,且很多参数都具有默认值实战public final class ImageLoaderConfiguration {final DiskCachediskCache;privat

2016-11-14 14:36:00 317

原创 使用Git生成patch和应用patch

1、在git源码目录下执行 1.1、两个commit间的修改(包含两个commit)git format-patch ..如:git format-patch d77aaac74845435744c49ae65511d9e1be79ed5c...046ee8f8423302f5070ca81b4e246516e919cd7a -o patch 1.2、单个commit

2016-11-11 11:12:33 706

原创 Android 坑之时间戳转换

毫秒转换成时分秒 格式:HH:mm:ss Java兑现1、毫秒转换成时分秒 格式:HH:mm:ss Java实现 long ms = 300 * 1000 ;//毫秒数SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");//初始化Formatter的转换格式。String hms = f

2016-11-03 15:17:31 2345

原创 UniversalImageLoader 源码解析 -1.enam(枚举)使用

闲来无事,今天又重新打开了UniversalImageLoader源码,以下简称为UIL。由于前几天做了一个基于SDK开发的项目,也就是给第三开发者用到的一个Library库。所以就打开了UIL源码用到的自己封装的库源码,来看下他们是怎么封装的,要来学习一下。一、先来po一张图。因为UIL库主要作用是用一款图片加载引擎库。所以涉及到图片核心操作代码core包,下载完毕图片一定是

2016-11-02 16:31:01 348

原创 Android Okhttp 使用HttpDns功能

OkHttp其实暴露了一个Dns接口,默认的实现是使用系统的方法发送udp请求进行dns解析。于是,我们就可以实现一个Dns接口,解析的方式使用httpdns,将解析结果返回,接口实现之后将系统默认的Dns接口替换成我们的Dns接口。首先,新建HttpDns类,实现Dns接口。内部维持一个系统默认的Dns对象。public class HttpDns implements Dns {

2016-11-02 11:49:32 1752 5

原创 Android httpdns 之 http头部如何对缓存的控制

使用缓存的目的就是在于减少计算,IO,网络等时间,可以快速的返回,特别是流量比较大的时候,可以节约很多服务器带宽和压力。一个请求从缓存的方面来说,有三个过程。本地检查缓存是否过期Expires,http 1.0版本定义的response头部,定义过期时间,如果本地时间发现超过过期时间,就会向服务器请求,进行文件新鲜度检测。但是会有一个问题,就是本地的操作系统时间可能偏差

2016-11-02 11:35:31 663

原创 Android HTTPDES 原理解析

DNS,作用就是将域名解析成IP。一个DNS查询,先从本地缓存查找,如果没有或者已经过期,就从DNS服务器查询,如果客户端没有主动设置DNS服务器,一般是从服务商DNS服务器上查找。这就出现了不可控。DNS劫持一些小服务商以及小地方的服务商非常喜欢干这个事情。根据腾讯给出的数据,DNS劫持率7%,恶意劫持率2%。网速给的劫持率是10-15%。 把你的域名解析

2016-11-02 11:32:46 370

原创 Android开发SDK教程

由于最近作者刚开发完一个SDK项目,所有现在整理一下在此期间碰到的坑,希望别人在做SDK的时候不用再重新踩一遍坑了。好了废话不多说,现在开始一、前期准备1.sdk说白了就是把一些方法函数封装起来,然后打成一个Jar包给第三方开发者来调用,以减少第三方开发者工作量和一些重复的内容2.因为jar包有的逻辑算法是比较隐私和重要的,所以Jar一定是要做混淆的。如果有

2016-11-01 11:27:09 788

Fragment保持状态的框架

刚开始使用fragment的时候,看到网上有很多例子都是说只要replace来切换界面,但是这个会有一个缺点,比如A界面是个列表,好不容易通过流量下载来了,然后切换界面,再次返回,由于使用replace,fragment就又重新创建界面导致,用户又得加载。现在这个Demo,就完美的解决了这个问题。这个是使用了add方法,可以保持fragment的状态。很有用的UI框架

2014-01-24

空空如也

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

TA关注的人

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