自定义博客皮肤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)
  • 问答 (1)
  • 收藏
  • 关注

原创 设计模式之策略模式

1 模式介绍我们在写代码的时候经常会遇到很多选择,需要使用if-else或者switch-case来完成选择,如果业务逻辑简单,还是比较容易处理的,但是业务逻辑复杂,我们写在一起就会使代码变得臃肿,不易维护,这就违反了六大基本原则中的开放封闭原则和单一职责原则了。而策略模式就可以很好的解决这些问题,2 模式定义策略模式定义了一系列的算法,并将每个算法封装起来,而且使它们之间可以替换。策略模式让算法独立于使用它的客户而独立变化。3 策略模式的UML类图角色介绍:Context:上下文角色,用来

2020-05-27 01:10:16 119

原创 设计模式之代理模式

1.代理模式的介绍代理模式(Proxy Pattern)也称为委托模式,是结构型设计模式的一种。在我们生活中代理模式是非常常见的,比如我们让同事帮忙买饭,房屋中介等都是一种代理模式。也就是让别人给自己干活。2.代理模式的定义为其他对象提供一种代理以控制对这个对象的访问。3.代理模式的UML类图Subject: 抽象角色指真实角色和代理角色公有的接口。RealSubject: 真实角色需要实现抽象接口,定义真实角色所要实现的业务逻辑,以供代理角色调用。ProxySubject: 代理角色也需

2020-05-09 23:13:36 121

原创 java进阶之注解

Java注解(Annotation)又称Java标注,是JDK5中引入的一种注释机制。Annotation其实是代码中的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用注解,开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。1.注解的声明与声明一个"Class"不同的是,注解的声明使用 @interface 关键字。一个注解的声明如下:publi...

2020-05-07 01:50:16 178

原创 java进阶之泛型基础

1、什么是泛型所谓泛型,就是允许在定义类、接口、方法时使用类型形参,这个类型形参将在声明变量、创建对象、调用方法时动态的指定。2、为什么要使用泛型先看下这个例子: public static void main(String[] args) { List list = new ArrayList(); list.add("字符串"); ...

2020-05-06 22:45:50 180

原创 设计模式之原型模式

1 原型模式介绍原型模式(Prototype)是一个创建型的模式,原型模式是有一个共有信息的样板实例,然后拷贝这个样板实例,而复制后的实例就是所谓的“原型”,这个原型是可以修改的。原型模式多用于创建复杂的或者构造耗时的实例,因为这种情况下, 复制一个已经存在的实例可以使程序运行更高效。2 原型模式定义用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象3 原型模式UML类图在原...

2019-12-15 02:09:54 721

原创 View的事件分发机制

什么是事件分发。当我们点击屏幕时,就产生了点击事件,这个事件被封装成了一个类:MotionEvent。而当这个 MotionEvent产生后,那么系统就会将这个MotionEvent传递给View的层级,MotionEvent在View中的层级传递过程就是点击事件分发。1.MotionEventMotionEvent类就是记录手指接触屏幕后所产生的一系列的事件,下面看几个常用的事件的类型与含义...

2019-03-19 17:44:55 682

原创 EventBus的使用及原理解析

EventBus 是一款在 Android 开发中使用的发布/订阅事件总线框架,基于观察者模式,将事件的接收者和发送者分离,避免复杂且容易出错的依赖关系和生命周期问题,简化了组件之间的通信,使用简单、效率高、体积小!下边是官方的 EventBus 原理图:一、使用EventBusEventBus支持订阅者方法在不同于发布事件所在线程的线程中被调用。你可以使用线程模式来指定调用订阅者方法的线程...

2019-01-29 18:54:01 3149

原创 Android四大组件之ContentProvider

一、内容提供器简介内容提供器(ContentProvider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访问数据的安全性。目前,使用内容提供器是Android实现跨进程共享数据的标准方式。不同于文件存储和SharedPreferences存储中的两种全局可读写操作模式,内容提供者可以选择只对哪一部分数据进行共享,从...

2019-01-16 18:37:32 821

原创 Android四大组件之BroadcastReceiver

BroadcastReceiver作为Android四大组件之一,即广播。广播分为发送者和接收者。要想使用广播,首先必须先注册广播接收者,然后接着发送广播。最后在接收者中处理广播。一、广播接收者BroadcastReceiver的使用1.1创建BroadcastReceiver继承BroadcastReceivre基类,必须复写抽象方法onReceive()方法。代码如下:public ...

2019-01-16 18:35:27 763

原创 Android四大组件之Service

ServiceService(服务)是一个可以在后台执行长时间运行操作而不使用用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。一、创建Service直接定义一...

2019-01-16 18:32:43 925

原创 Android四大组件之Activity

Android最重要的是四大组件,分别为Activity、Service、ContentProvider、Broadcast。Activity负责UI元素的加载与页面之间的跳转,代表了一个页面单元;Service负责与UI无关的工作,如在后台执行耗时操作等;ContentProvider负责存储、共享数据,使得数据可以再多个应用之间共享;Broadcast则是在各个组件、应用之间进行通信,简化了A...

2019-01-16 18:29:05 791 1

原创 HTTP协议详解

一、HTTP简介HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。二、 HTTP协议的特点1、简单快速:客户向服务器请求...

2019-01-15 17:31:18 3283

原创 View的滑动方式

View的滑动是Android自定义控件的基础,同时在开发中我们也难免会遇到View的滑动处理。其实不管是哪种滑动方式,其基本思想都是类似的:当点击事件传到View时,系统记下触摸点的坐标,手指移动时系统记下移动后触摸的坐标并算出偏移量,并通过偏移量来修改View的坐标。一、坐标系Android系统中有两种坐标系,分别为Android坐标系和View坐标系。了解这两种坐标系能够帮助我们实现Vi...

2019-01-12 14:22:36 1062

原创 PopupWindow在Android7.0后不能显示到指定位置

做PopupWindow在指定位置显示,刚开始在模拟器上运行的时候显示正常,之后在华为7.0手机上弹出,直接显示到屏幕的顶部。解决办法如下:if (Build.VERSION.SDK_INT < 24) {//在7.0之前            mPopupWindow.showAsDropDown(view, 0, 0);//表示显示在view的下方 } else { ...

2017-06-28 23:16:08 961

原创 Android签名打包时,出现V4包冲突

这次写项目,由于接入的sdk比较多,最后打签名包时出现v4包冲突,在网上找到的方法,试了好几种办法都没有成功解决,最后通过比较暴力的方式来解决,剔除所有的v4包,成功解决了问题。解决办法:configurations {all*.exclude group: 'com.android.support', module: 'support-v4'}项目中还有其他包冲突,最后都是通过这...

2017-06-03 00:11:19 1065

空空如也

空空如也

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

TA关注的人

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