自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

禽兽先生不禽兽

不会唱歌的程序员,不是一个好厨师

  • 博客(25)
  • 资源 (30)
  • 问答 (1)
  • 收藏
  • 关注

原创 View的自由拖动(属性动画的实践之一)

View的自由移动

2017-05-25 22:22:50 677

原创 《Android源码设计模式解析与实战》读书笔记(十七)——中介者模式

中介者模式也成为调解者模式或调停者模式, Mediator 本身就有调停者和调解者的意思。一般我们听“中介”这个词听得最多的莫过于房产中介了,房产中介者的职责就是作为买房者和卖房者之间的桥梁帮忙联系沟通,其实买房者和卖房者的直接接触很少,大多数情况都是通过房产中介者来传达信息的。房产中介者负责协调的无非也就买房者和卖房者两类对象,但是 Android 的中介者模式需要协调的是多类对象,以做一个 A

2017-05-25 13:28:53 615

原创 《Android源码设计模式解析与实战》读书笔记(十六)——访问者模式

访问者模式是一种将数据操作和数据结构分离的设计模式,它是23种设计模式中最复杂的一个,但是它的使用频率并不高。刚开始我看到这句话的时候又头疼了,而且看它的概念确实很难懂,于是一边看书一边参考一下网上的资料,也算是通过例子简单的理解了它的使用场景和基本实现。参考资料:http://blog.csdn.net/chenssy/article/details/12029633大多数情况下并不需要

2017-05-24 11:47:58 327

原创 《Android源码设计模式解析与实战》读书笔记(十五)——模板方法模式

在我们的开发过程中,对于某些操作流程的步骤可能是一样的,但是步骤的具体实现却会有所变化,所以将这些固定步骤抽取成一个模板,再修改不同的实现就是模板方法模式。第十五章 抓住问题核心——模板方法模式1.定义:定义一个操作中的算法的框架,而将一些步骤延迟到子类中去,使子类不可改变算法的结构,但可以重定义该算法的某些特定步骤。2.使用场景:1).多个子类有公有的方法,并

2017-05-23 17:07:48 538

原创 《Android源码设计模式解析与实战》读书笔记(十四)——迭代器模式

迭代器模式又称游标(cursor,看到这个单词有没有很熟悉)模式,主要用于对容器的访问,比如 List 、 Map 、数组等,因为访问容器一般会用到遍历算法。如果将遍历方法封装在容器类中,容器类就会承担过多功能,而且由于遍历状态的存储问题,还不能对同一个容器同时进行多个遍历操作,但如果让使用者自己实现遍历方法,又会暴露容器内部实现,因此,迭代器模式应运而生,在客户访问类和容器类之间插入一个第三者—

2017-05-23 15:23:56 314

原创 《Android源码设计模式解析与实战》读书笔记(十三)——备忘录模式

经常看到某些app里面有撤销

2017-05-22 22:54:51 458

原创 《Android源码设计模式解析与实战》读书笔记(十二)——观察者模式

观察者模式,当我刚看到这个模式的名字的时候首先想到的就是Rxjava,看来也是时候正儿八经的学学Rxjava了。观察者模式是一个使用率非常搞的模式,它最常用的地方就是GUI系统(图形操作界面),观察者模式的一大作用就是解耦,将被观察者和观察者解耦,使它们之间的依赖性更小,甚至毫无依赖。对GUI系统来说,观察者模式的目的就是将UI层与具体的业务逻辑解耦。第十二章 解决、解耦的钥匙——观察

2017-05-22 11:59:58 499

原创 Android动画(三)之属性动画(Property Animation)

属性动画是 API 11 引进的,之前有说补间动画只是改变了View的视觉效果,但是它的自身属性并没有改变,而属性动画顾名思义,就是通过改变View(其实不单可以是View)的属性来达到动画的效果。简单来说,属性动画允许 Android 中任意对象“动”起来,设定一个持续时长,属性动画在这个时长内改变这个对象某些属性的值,比如一个View的位置,大小等。属性动画很强大,我刚看也不可能全弄明

2017-05-19 23:45:24 404

原创 Android动画(二)之帧动画(DrawableAnimation)

动画其实就是一帧一帧的画面顺序播放,造成的视觉上的残留来起到连贯的效果,帧动画就像放电影一样,把一组画面帧放在一起,然后这些画面帧就像电影胶片一样被顺序播放。帧动画也很简单,也可以通过Java代码或者xml代码实现。我找到一个 .gif 图,然后用软件把它的全部帧分解,把这11帧全放到工程里,然后在drawable 文件夹下新建一个xml文件:<animation-list xmlns:

2017-05-19 23:23:48 356

原创 Android动画(一)之补间动画(Tween Animation)

一直都很喜欢 github 哪些看起来很炫酷的控件,其实主要就是动画效果看起来很棒,以前老以为动画很难,总是找现成的来用,但是其实原理很简单,抽空学习了下,在这里做一下记录。Android 的动画分三种,补间动画(Tween Animation)、帧动画(Drawable Animation)、属性动画(Property Animation),有的面试题会问到 Android 动画分几种,有的

2017-05-19 23:22:18 379

转载 Retrofit 2.0 (v2.0.0-beta4)

转自:http://blog.csdn.net/leilba/article/details/50685205原文地址:Retrofit 2.01.介绍Retrofit可以将你的HTTP API转化为JAVA的接口的形式。例如:public interface GitHubService {  @GET("users/{user}/repos")

2017-05-18 17:33:37 415

原创 《Android源码设计模式解析与实战》读书笔记(六)——抽象工厂模式

一不小心都看了十种设计模式了,准备好好整理下,才发现还有个抽象工厂模式是被之前搁置下来的,是时候理解真正的抽象工厂模式了。第六章 创建型设计模式——抽象工厂模式抽象工厂模式起源于以前对不同操作系统的图形化解决方案,如不同的操作系统中的按钮和文本框其实现不同,展现效果也不一样,对每一个操作系统而言,其本身就可以构成一个产品类,而按钮和文本框控件又是其下属的产品类。1.定义

2017-05-16 16:52:57 451

原创 《Android源码设计模式解析与实战》读书笔记(十一)——命令模式

第十一章 让程序畅通执行——命令模式1.定义:将一个请求封装成一个对象,让用户使用不同的请求把客户端参数化,对请求进行排队或者记录请求日志,并支持可撤销的操作。2.使用场景:1).需要抽象出待执行的行为,然后以参数的形式提供出来时。2).在不同的时刻指定、排列和执行请求时。3).需要支持取消操作时。4).支持修改日志功能,当系统崩溃时,这些修改可以被重做一遍时。

2017-05-16 15:26:01 393

原创 《Android源码设计模式解析与实战》读书笔记(十)——解释器模式

第十章 化繁为简的翻译机——解释器模式解释器模式是一种用得比较少的行为型设计模式,它提供了一种解释语言或者说是表达式的方法,该模式定义了一个表达式接口,然后通过该接口解释一个特定的上下文。解释器模式使用得相对较少,所以也基本上了解一下就行了。1.定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用定义的表示来解释语言中的句子。实在是不好理解,这其中有几个关键词

2017-05-15 16:59:26 497

原创 《Android源码设计模式解析与实战》读书笔记(九)——责任链模式

之前忘记记录了,策略模式和状态模式是行为型模式。设计模式共23种,分三大类:1).创建型模式5种:单例模式,建造者模式,原型模式,工厂方法模式,抽象工厂模式。2).行为型模式11种:策略模式,状态模式,责任链模式,解释器模式,命令模式,观察者模式,备忘录模式,迭代器模式,模版方法模式,访问者模式,中介者模式。3).结构型模式7种:代理模式,组合模式,适配器模式,装饰模式,享元模式,外观

2017-05-15 14:49:53 413

原创 Android TouchEvent 事件传递机制简单理解

Android事件传递机制是一个常用的知识点,在看过很多资料后,我也记录下我对事件传递机制的理解。Android事件传递机制就是当一个触摸事件发生后,从一个窗口到另一个视图,再到另一个视图直到被消费的过程。

2017-05-15 14:46:59 1512

原创 打造自己的RecyclerView(二)之下拉刷新和上拉加载更多

上一篇博客记录了如何为RecyclerView添加头布局和脚布局,添加这个有什么用呢,当然主要是为了下拉刷新和上拉加载更多了,不然单独的添加两个布局也没有多大意义。为RecyclerView添加HeaderView和FooterView传送门上代码:首先需要先将HeaderView和FooterView设置为不可见(以HeaderView为例,FooterView原理差不多,一会儿

2017-05-14 18:27:49 417

原创 打造自己的RecyclerView(一)之添加header和footer

最近一直在看《Android源码设计模式解析与实战》一书,不过也没有忘了自己的爱好,关注那些炫酷的控件,也看到了很多下拉刷新的库,以前一直都有PullToRefreshListView、XListView等下拉刷新库,然后最近就在想,会用是会用了,不过怎么着最后自己能力强了,也得明白它的原理吧,所以在网上看了看如何实现上拉加载更多和下拉刷新的文章,发现讲得不错的也很多,也有好几种方式,下拉刷新现在

2017-05-14 13:55:28 583

原创 《Android源码设计模式解析与实战》读书笔记(八)——状态模式

这两章都比较简单,就不多说废话,直入主题。第八章 随遇而安——状态模式顾名思义,状态模式,肯定跟状态有关系,它是根据状态来决定行为的,即不同状态有不同行为。听起来就跟策略模式很像,不错,都说状态模式和策略模式是“孪生兄弟”,它们的结构几乎一模一样,但是本质却是不一样的,策略模式各策略之间是相互独立、可以互相替换的,但是状态模式之间的行为却是平行的,不可替换。可能这么说还是不太好理解

2017-05-12 10:55:35 477

原创 《Android源码设计模式解析与实战》读书笔记(七)——策略模式

第六章抽象工厂模式实在是不好理解,我觉得也不能似懂非懂就算了,毕竟这次决定第一遍通读起码要搞懂各种设计模式的基本思想,在源码中如何体现都可以等到阅读代码的能力上去了慢慢消化,但是概念什么的,还是不能就这么跳过了,既然不太好理解,就先放一放,没准什么时候就豁然开朗了,先读读后面的模式换换脑子。第七章 时势造英雄——策略模式在开发工程中经常会实现某个功能而加入多种算法或策略,然后根据具体情况来

2017-05-11 22:51:46 651

原创 《Android源码设计模式解析与实战》读书笔记(五)——工厂方法模式

工厂方法模式是创建型设计模式之一,是一种结构简单的模式,在平时开发中应用很广泛。1.定义:定义一个用于创建对象的接口,让子类决定实例化哪个类。2.使用场景:在任何需要生成复杂对象的地方,都可以使用工厂方法模式。复杂对象适合使用工厂模式,用new就可以完成创建的对象无需使用工厂模式。3.简单实现:工厂模式主要有四大角色,一是抽象工厂,它是工厂方法模

2017-05-08 14:30:36 438

原创 《Android源码设计模式解析与实战》读书笔记(四)——原型模式

以前就纠结过一个问题,什么是基本类型数据,什么是引用类型数据,它们有什么区别,看了原型模式后,也算是知道了它们的一点区别了。第四章 使程序运行更高效——原型模式原型模式是一个创建型的模式,该模式有一个样板实例,用户从这个样板对象中复制出一个内部属性一致的对象,这个过程就是俗称的“克隆”。被复制的实例就是所谓的“原型”,这个原型是可定制的。原型模式多用于创建复杂的或者构造耗时的实例,因为复制

2017-05-05 16:03:46 960

原创 《Android源码设计模式解析与实战》读书笔记(三)——建造者模式

在使用别人的框架的时候,总觉得那些链式调用的写法看起来很厉害很优雅,一直以为挺难的呢,在书上看到之后才发现也是一种基本设计模式。第三章 自由扩展你的项目——Builder模式Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的构造流程。1.定义:将一个复杂对象的构建与它的表示分离开,使同样的构建过程可以创建不同的表

2017-05-05 11:55:54 739

原创 《Android源码设计模式解析与实战》读书笔记(二)——单例模式

单例模式是我们常用的一种模式,我也经常使用,但是却不知道它还是一种设计模式,估计很多初级工程师也跟我一样,只会这一种设计模式吧。 第二章 应用最广的模式——单例模式单例模式是应用最广的模式之一1.定义确保某一个类只有一个实例,而且自行实例化并向整个程序提供这个实例。许多时候整个程序只需要拥有一个全局对象,这样有利于我们协调程序整体的行为。 2.使用场景避免产生多个对...

2017-05-02 15:50:12 1010

原创 《Android源码设计模式解析与实战》读书笔记(一)——面向对象的六大原则

写代码很容易,但是写出简单易懂好修改的代码实在。如何优化代码,设计模式是关键,所以最近开始啃书,在这里记录一下读书笔记,大部分是摘录,也有自己的总结和心得,写给自己。第一章、面向对象的六大原则1.单一职责原则Single Responsibility Principle,SRP,其定义是:就一个类而言,应该仅有一个引起它变化的原因。两个完全不一样的功能不应该放在一个类中,比如一个带

2017-05-01 20:00:16 744

Dimens 文件生成器

dimens 文件生成器,里面有 1px 的基准文件,也有几个我按照 1280x720 为基准分辨率生成的几个 dimens 文件,如果基准分辨率为 1280x720 的同学可以直接用。

2019-01-18

dimens文件生成器

dimens 文件生成器,可以帮助生成不同分辨率的 dimens 文件,再也不用自己一个个手写了,可用于 Android 项目.

2017-09-02

桥接模式Demo

桥接模式Demo

2017-06-09

外观模式Demo

外观模式Demo

2017-06-09

享元模式Demo

享元模式Demo

2017-06-08

装饰者模式Demo

装饰者模式Demo

2017-06-06

适配器模式Demo

适配器模式Demo

2017-06-05

组合模式Demo

组合模式Demo

2017-05-31

代理模式Demo

代理模式Demo

2017-05-31

View自由拖动Demo

View自由拖动Demo

2017-05-25

中介者模式Demo

中介者模式Demo

2017-05-25

访问者模式Demo

访问者模式Demo

2017-05-24

模板方法模式Demo

模板方法模式Demo

2017-05-23

迭代器模式Demo

迭代器模式Demo

2017-05-23

备忘录模式Demo

备忘录模式Demo

2017-05-22

观察者模式Demo

观察者模式Demo

2017-05-22

AnimationDemo

AnimationDemo 安卓动画

2017-05-19

抽象工厂模式Demo

抽象工厂模式Demo

2017-05-18

命令模式Demo

命令模式Demo

2017-05-16

事件传递机制Demo

事件传递机制Demo

2017-05-15

责任链模式Demo

责任链模式Demo

2017-05-15

下拉刷新和上拉加载更多的RecyclerView

下拉刷新和上拉加载更多的RecyclerView

2017-05-14

状态模式Demo

状态模式Demo

2017-05-12

策略模式Demo

策略模式Demo

2017-05-11

工厂方法模式Demo

工厂方法模式Demo

2017-05-08

原型模式Demo

原型模式Demo

2017-05-05

Builder模式Demo

Builder模式Demo

2017-05-05

单例模式的几种实现方式

单例模式的几种实现方式Demo

2017-05-05

单例模式的几种实现方式demo

单例模式的几种实现方式demo

2017-05-05

MediaCodec解码H264视频数据

利用MediaCodec解码H264原始视频数据,通过socket实时传输

2016-11-21

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

TA关注的人

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