自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (4)
  • 收藏
  • 关注

原创 设计模式汇总

设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池模式。...

2017-08-24 14:24:21 290

转载 设计模式之---命令模式

定义将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。分离变化与不变的因素。角色Command定义命令的接口,声明执行的方法。ConcreteCommand命令接口实现对象,是“虚”的实现;通常会持有接收者,并调用接收者的功能来完成命令要执行的操作。Receive

2017-08-26 22:06:26 247

原创 设计模式之---解释器模式

解释器模式概述解释器模式是一种使用频率相对较低但学习难度较大的设计模式,它用于描述如何使用面向对象语言构成一个简单的语言解释器。在某些情况下,为了更好地描述某一些特定类型的问题,我们可以创建一种新的语言,这种语言拥有自己的表达式和结构,即文法规则,这些问题的实例将对应为该语言中的句子。此时,可以使用解释器模式来设计这种新的语言。对解释器模式的学习能够加深我们对面向对象思想的理解,并且掌

2017-08-25 17:33:24 247

原创 Android设计模式实战---责任链模式

责任链模式实战在Android中,可以借鉴责任链模式的思想来优化BroadcastReceiver使之成为一个全局的责任链处理者。在BroadcastReceiver的分类中,有序广播是根据优先级依次传播的,指导有接受者将其终止或者所有接受者都不终止它,这与责任链模式很相近。通过它可以轻松实现一种全局的责任链事件处理,这里我们创建了3个BroadcastReceiver:?

2017-08-25 14:42:12 247

转载 Java 线程 50个Java多线程面试题

不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎。大多数待遇丰厚的 Java 开发职位都要求开发者精通多线程技术并且有丰富的 Java 程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的 Java 面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线

2017-08-24 15:42:58 603

转载 Android实战设计模式-----状态模式

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

2017-08-24 15:31:28 174

转载 Java设计模式之责任链模式

什么是链1、链是一系列节点的集合。2.、链的各节点可灵活拆分再重组。职责链模式使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。角色抽象处理者角色(Handler):定义出一个处理请求的接口。如果需要,接口可以定义 出一个方法以设定和返回对下家的引用。这个角色通

2017-08-24 14:22:54 191

原创 Java设计模式之状态模式

何时使用State模式在实际使用中比较多,适合“状态”的切换。因为我们经常会使用If else if else 进行状态切换,如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了。这里要阐述的是"开关切换状态" 和" 一般的状态判断"是有一些区别的," 一般的状态判断"也是有 if..elseif结构,例如:[java] view plai

2017-08-24 11:32:09 201

转载 git常用命令

我每天使用 Git ,但是很多命令记不住。一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库

2017-08-22 16:34:05 223

原创 原型设计模式

定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clo

2017-08-16 16:59:53 196

转载 Android源码分析之Builder模式

模式的定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。使用场景1、相同的方法,不同的执行顺序,产生不同的事件结果时;2、多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时;3、产品类非常复杂,或者产品类中的调用顺序不同产生了不同的效能,这个时候使用建造者模式非常合适;UML类图角色介

2017-08-16 16:37:49 210

转载 给RecyclerView添加分割线的步骤

【吐槽】RecyclerView没有提供分割线的方法,想要加个线还要自己画,点击事件的监听都要自己实现,不过真的好用。给RecyclerView添加分割线的步骤1, 新建类继承于RecyclerView.ItemDecoration,此为是抽象类: public static abstract class ItemDecoration { public void on...

2017-08-14 16:08:58 317

原创 Android studio常用快捷键

Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似 eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试,基于Gradle的构建支持。 最常用快捷键1.Ctrl+E,可以显示最近编辑的文件列表2.Shift+Click可以关闭文件3.Ctrl+[或]可以跳到大括号的开头

2017-08-11 14:14:43 314

转载 Android Studio 2.2 更方便地创建JNI项目-CMake

1. 创建一个新项目(Create New Project)点击File — New — New Project,把Include C++ Support前面的CheckBook勾上。接下来的步骤跟创建普通项目一样。2、配置C++支持功能(Customize C++ Support)在Customize C++ Support界面默认即可。C++

2017-08-07 14:42:16 229

转载 超级简单的Android Studio jni 实现(无需命令行)

JNI总结:遵循以下步骤可以将一个本地方法链接到Java程序中1.在Java类中声明一个本地方法2.运行javah以获得包含该方法的C声明的头文件3.用C实现该本地方法4.将代码置于共享库中5.在Java程序中加载该类库note:一些本地代码的共享库必须先运行初始化代码。可以把初始化代码放到JNI_OnLoad方法中。类似地,如果提供该方法,

2017-08-04 15:06:19 271

android的IBinder简单使用

android中IPC机制的IBinder简单使用,简要说明下IBinder中两个重要方法

2018-02-26

AIDLDemo的代码示例

AIDL ,android跨进程通信示例,包括服务端,客户端,以及权限检测

2018-01-15

AIDl跨进程客户端与服务端互相通信

使用AIDL进行跨进程实现客户端与服务端互相通信的demo

2017-03-31

android高级编程

一本用于android开发进阶的书籍,android高级编程pdf

2015-12-30

空空如也

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

TA关注的人

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