自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (5)
  • 收藏
  • 关注

原创 单例模式——对象创建型模式

一、意图 保证一个类仅有一个示例,并提供一个访问它的全局访问点。 二、适用性 在下面的情况下可以使用SingleTon模式当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。当这个唯一实例应该是通过子类化可扩展的,并且客户端应该无需更改代码就能使用一个扩展实例时。三、结构 四、代码public class SingleTon { private static Si

2016-08-30 10:07:59 484

原创 原型模式——对象创建型模式

一、意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 二、适用性 当一个系统应该独立于它的产品创建、构成和表示时,要使用Prototype模式;以及当要实例化的类是在运行时刻指定时,例如,通过动态装载;或者为了避免创建一个类与产品类层次平行的工厂类层次时,或者当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆他们可能比每次用合适的状态手工实例化

2016-08-30 09:44:57 444

原创 工厂方法——对象创建型模式

一、意图 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。 二、适用性 在下列情况下可以使用Factory Method模式当一个类不知道它所必须创建对象的时候。当一个类希望由它的子类来指定它所创建的对象的 。当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。三、结构

2016-08-29 17:52:10 507

原创 生成器模式——对象创建型模式

一、意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以构建不同的表示。 二、适用性 在以下情况下使用Builder模式当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。当构造过程必须允许被构造的对象有不同的表示时。三、结构 四、代码 Builderpublic abstract class Builder { abstract void bui

2016-08-29 17:22:43 627

原创 抽象工厂——对象创建型模式

一、意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。 二、适用性 在以下情况可以使用Abstract Factory模式一个系统要独立于它的产品的创建,组合和表示时。一个系统要由多个产品系列中的一个来配置时。当你要强调一系列相关的产品对象的设计以便进行联合使用时。当你提供一个产品类库,而只想显示它们的接口而不是实现时。三、结构 四、代码示例 抽象工厂pu

2016-08-29 16:19:53 442

原创 设计模式分类

我们根据两条准则对模式进行分类。第一是目的准则,即模式是用来完成什么工作的。第二是范围准则,指定模式主要用于类还是用于对象。一、目的准则模式依据目的准则可分为创建型(Creational)、结构性(Structural)、行为性(Behavioral) 三种。 创建型模式与对象的创建有关;结构性模式处理类或对象的组合;行为型模式对类或对象怎样交互和怎样分配职责进行行为描述。二、范围准则 模式依据

2016-08-25 15:43:08 474

原创 面向对象六大原则

一、单一职责原则 单一职责的英文名称是Single Responsibility Principle,缩写SRP。 SRP的定义:就一个类而言,应该仅有一个引起它变化的原因。简单来讲就是:一个类只负责一项职责。二、开放关闭原则 开放关闭原则的英文全称是 Open Close Principle ,缩写OCP。 OCP的定义:软件中的对象(类、模块、函数等)应该

2016-08-23 18:05:32 422

原创 Mockito的使用 二

11、为回调做测试桩when(mock.someMethod(anyString())).thenAnswer(new Answer() { Object answer(InvocationOnMock invocation) { Object[] args = invocation.getArguments(); Object mock = invoc

2016-08-23 15:42:32 1919

原创 Mockito的使用一

一、Mockito的引用 Gradle:repositories { jcenter() }dependencies { testCompile "org.mockito:mockito-core:1.+" }Maven:<dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId

2016-08-23 15:04:45 2064

原创 Android网络框架设计

一、构建思路 1、构建一个Request用来封装 HTTP请求的类型、请求头参数、请求体、优先级、返回类型、等一些必要的属性。 这个Request定义为抽象的,使得用户可以扩展。 2、构建一个队列(BlockingQueue) 用来存贮这些请求,用户可以自己将请求添加到这个队列中 3、创建多个线程NetworkExecutor,用来遍历队列(BlockingQueue)获得Request,请求

2016-08-17 14:48:35 1988

原创 Http网络请求原理

一、简介 HTTP 是一种应用层协议,它通过TCP实现了可靠的数据传输,能够保证数据的完整性,正确性,而TCP对于数据控制的优点也能够体现在HTTP上,使得HTTP的数据传输吞吐量,效率得到保证。 详细的交互流程: 1、客户端执行网路请求,从URL中解析出服务器的主机名 2、将服务器的主机名转换成服务器的IP地址 3、将端口号从URL中解析出来 4、建立一条客户端与Web服务器的TCP连

2016-08-17 11:57:55 2251

原创 Android Camera的使用 (三)

一、创建一个Camear App二、创建拍照功能 创建一拍照我们分以下几步: 1、检测和访问相机—–检测相机是否存在 2、创建一个用来预览的对象——创建一个 类继承自SurfaceView 并实现SurfaceHolder接口,这个类用来显示camera传来的图像。 3、创建布局——-创建不就用来放SurfaceView 以及控制按钮 4、设置监听器—设置监听器,当按钮点击时开始拍照或录像

2016-08-10 15:50:31 6639

原创 Android Camera的使用 (二)

一、前言 在我们使用Camera时我们应该首先考虑以下几个注意事项 1、我们的设备必须要有摄像头,以及我们应该在AndroidManifest.xml中将需要用到的权限必须加上。 2、我们的应用程序用Camera来干什么?能否考虑使用系统自带的Camera应用,还是需要自定义一个相机。 3、我们的媒体文件怎样存储,是私有,还是共享?以及我们的相册应用可以查看这些文件吗? 我们接下来就针对上

2016-08-10 14:31:23 1063

原创 Android Camera的使用 (一)

一、前言 在android 5.0 之后 官方已经不推荐Camear这个类了,而是推荐 android.hardware.camera2 包下的api.但我们还是有必要学习一下。Camera这个类可以被用来照相、start/top相机预览、将图像帧编码成video。它对于相机服务相当于一个客户端,它管理者真正的硬件Camera。要访问硬件Camera我们必须在AndroidManifest.xml

2016-08-10 13:39:48 2863

原创 Android 动画

一、 android动画分为 属性动画 和 View动画。 View动画又分为 补间动画和帧动画二、详细介绍1、属性动画 属性动画的xml文件定义在 res/animator 文件夹下 语法:<set android:ordering=["together" | "sequentially"]> <objectAnimator android:propertyName

2016-08-09 17:04:03 623

原创 Android中的Drawable

一、Android中有这么几种Drawable: 1、Bitmap File 2、Nine-Patch File 3、Layer List 4、State List 5、Level List 6、Transition Drawable 7、Inset Drawable 8、Clip Drawable 9、Scale Drawable 10、Shape Drawable 下面我们

2016-08-09 12:23:59 626

原创 AppWidget的使用及原理分析

一 AppWidget的使用: 1、首先在res/layout文件夹下定义一个 布局文件 res/layout/app_widget.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orien

2016-08-05 17:11:53 2697

原创 Retrofit源码简要分析

一、Retrofit的使用 本文使用的Retrofit 2.1.0版本。 在gradle中加入: compile 'com.squareup.retrofit2:retrofit:2.1.0'如果要是要解析json,还需加入: compile 'com.squareup.retrofit2:converter-gson:2.1.0'如果要结合rxjava 需要加入: compil

2016-08-04 11:39:44 1355

原创 Java动态代理的使用及原理分析

一、动态代理的使用 要使用动态代理我们要首先定义一个接口,以及一个实现了这个接口的对象,和一个实现了InvocationHandler 的类。 首先定义一个接口:public interface Subject { void doSomeThing();}定义一个实现了该接口的类,它将是被代理的类public class RealSubject implements Subject

2016-08-03 12:21:44 896

原创 Android使用Gradle自动化打包

假如我们使用了友盟sdk或者别的sdk,我们需要在androidMainifest 填写一个渠道号,来帮助我们统计。也就说app发布之后需要每个应用市场对应着唯一的渠道号。如果我们不使用自动化打包的话,就非常的麻烦,需要自己去改Mainifest.xml中的渠道号。还好,我们可以使用gradle来帮我们完成这个过程。 我目前的一个项目使用了友盟统计,我需要在AndroidMainifest.xml

2016-08-02 16:36:56 2738

android移植好的polarssl静态库+源码

静态库在 ssl.zip中的lib文件夹下

2017-04-12

android 移植好的librtmp 2.4

其中 libs 目录下是生成的动态库,使用的时候可以提出 so文件,和需要的头文件。就可以使用了。Android.mk Application.mk buils.sh 是我写的用来移植的mk文件以及脚本

2017-01-12

andorid_ffmpeg+x264

android 移植好的动态库,加libx264编码器

2016-12-30

android 网路请求

一个简单的网络请求框架

2016-08-17

VC编写软件

C语言编写软件 完整汉化版,完美支持XP系统,

2012-11-30

空空如也

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

TA关注的人

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