自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式学习—22享元模式

享元模式文章目录享元模式UML解释说明代码实现参考资料UML解释说明享元模式:运用共享技术有效地支持大量细粒度的对象。享元模式可以避免大量非常相似的类的开销,以降低内存的消耗。在程序设计中,有时需要生成大量细粒度的类实例来表示数据。如果这些实例除了几个参数外基本相同,就能够大幅度减少需要实例化的类的数量。把哪些参数参数转移到享元类外,再在需要的时候传递进来。注意:享元模式的使用会...

2019-10-23 10:44:44 123

原创 Chapter1:碎片和UI模块化

Chapter1:碎片和UI模块化文章目录Chapter1:碎片和UI模块化1.1 我们需要一种新的UI设计方式1.2 平台架构对Fragment的支持1.3 Fragments和Activities之间的关系1.4 从Activity向Fragment转移1.5 Activity为导向的开发的思考1.5 Fragment为导向的开发的思考1.6 创建Fragment类1.7 在Activity...

2019-10-22 18:25:01 203

原创 设计模式学习—21中介者模式

中介者模式文章目录中介者模式UML解释说明代码实现参考资料UML解释说明中介者模式:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合降低,并且可以独立地改变他们之间的交互。注意:中介者会使交互的复杂性转变成中介者的复杂性。中介者模式一般应用于一组对象以良好但是复杂的方式进行通信的场合,以及想定制一个分布在多个类中的行为,但是又不想生成太多的子...

2019-10-22 12:35:20 106

原创 设计模式学习—20职责链模式

职责链模式文章目录职责链模式UML解释说明代码实现参考资料UML解释说明职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。代码实现Handler.classpackage learn20;public abstract class Handler { ...

2019-10-22 11:17:17 94

原创 设计模式学习—19命令模式

命令模式文章目录命令模式UML解释说明代码实现参考资料UML解释说明命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;支持请求排队、记录请求日志、支持可撤销操作。代码实现Command.classpublic interface Command { void execute();}Receiver.classpack...

2019-10-22 10:35:13 257

原创 设计模式学习—18桥接模式

桥接模式文章目录桥接模式UML解释说明代码实现参考资料UML解释说明桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立的变化。代码实现Implementor.classpackage learn18;public abstract class Implementor { public abstract void operation();}...

2019-10-22 10:05:09 113

原创 设计模式学习—17单例模式

单例模式文章目录单例模式UML解释说明代码实现参考资料UML解释说明单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。代码实现基本形式:package learn17;public class Singleton1 { private static Singleton1 instance; private Singleton1()...

2019-10-21 18:00:58 161

原创 设计模式学习—16迭代器模式

迭代器模式文章目录迭代器模式UML解释说明代码实现参考资料UML解释说明迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。当访问聚合对象,需要遍历时应优先考虑迭代器模式。(无论聚合的是什么对象)使用迭代器模式,可以为聚合对象提供多种遍历方法。Java 提供 Iterable接口、Iterable(类Aggregate)接口。代码实现...

2019-10-21 16:33:05 120

原创 设计模式学习—15组合模式

组合模式文章目录组合模式UML解释说明代码实现参考资料UML解释说明组合模式:将对象组合成树形结构以表示 ‘部分-整体’ 的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。透明模式:Component中包含Add和Remove方法,这在Leaf中无意义。安全模式:Component中不包含Add和Remove方法,会增加调用节点时的判断。代码实现Com...

2019-10-21 15:19:07 93

原创 设计模式学习—14备忘录模式

备忘录模式文章目录备忘录模式UML解释说明代码实现参考资料UML解释说明备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,之后可在需要的时候将对象恢复到原先保存的状态。Originator:发起者;Memento:备忘录;Caretaker:管理者。代码实现Memento.classpackage learn14;publ...

2019-10-18 11:36:39 114

原创 设计模式学习—13适配器模式

适配器模式文章目录适配器模式UML解释说明代码实现参考资料UML解释说明适配器模式:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。在双方都不太容易修改的时候再使用适配器模式适配。代码实现Target.class...

2019-10-18 10:45:54 88

原创 java反射的简单应用

java反射的简单应用简单实现从配置文件读取类的名称,然后通过反射找到这个类,再执行这个类中的方法。创建接口文件:ITask.class这个文件在inter包中。package inter;public interface ITask { void start();}创建目标Java文件:TaskA.class这个文件在test包里,TaskA类实...

2019-10-17 18:08:21 130

原创 设计模式学习—12状态模式

状态模式文章目录状态模式UML解释说明代码实现参考资料UML解释说明状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当一个控制对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中。代码实现State.classpackage learn12;public abstrac...

2019-10-17 16:44:56 110

原创 设计模式学习—11抽象工厂模式

抽象工厂模式文章目录抽象工厂模式UML解释说明简单工厂改进抽象工厂参考资料UML解释说明抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指明它们具体的类。简单工厂改进抽象工厂将工厂的实现转化为 switch … case…实现的简单工厂。进一步解耦,调用时不需要知道具体的工厂;但相对带来的是修改代码时的复杂性。参考资料大话设计模式...

2019-10-17 16:42:54 101

原创 Dagger2的简单使用

Dagger2的简单使用文章目录Dagger2的简单使用1.预备知识1.1 注解概念1.2 控制反转与依赖注入概念2.Dagger2的使用2.1 基本使用方法2.2 @Module 和 @Provides2.3 @Named 和 @Qualifier2.4 @Singleton 和 @Scope2.5 @Component 的 dependencies2.6 懒加载3.参考资料1.预备知识...

2019-10-17 14:33:13 134

原创 ButterKnife的简单实用

ButterKnife的简单实用1.简介专注于 Android 系统的View 注入框架。减少大量的findViewById 以及 setOnClickListener代码。官网:GitHub2.使用方法2.1 环境API 28JAVA 8Android Studio 3.4.2添加依赖库implementation 'com.jakewharton:butt...

2019-10-16 18:13:38 84

原创 设计模式学习—10观察者模式

观察者模式文章目录观察者模式UML解释说明代码实现参考资料UML解释说明观察者模式:定义了一种一对多的依赖关系,让多个观察者对象(Observer)同时监听某一个主题对象(Subject)。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式又称为 发布-订阅(Publish/Subscribe)模式。观察者模式的事实是解耦,让耦合的双方依赖于抽...

2019-10-16 14:11:02 102

原创 设计模式学习—09建造者模式

建造者模式文章目录建造者模式UML解释说明代码实现参考资料UML解释说明建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。优点:使得建造代码与表示代码分离。符合依赖倒转原则。代码实现Product.classpackage learn09;import java.util.ArrayList;import java.ut...

2019-10-16 11:28:34 121

原创 设计模式学习—08外观模式

外观模式文章目录外观模式UML解释说明代码实现参考资料UML解释说明外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。依赖倒转原则和迪米特法则的思想。在旧系统上开发新系统,可以开发一个外观Facade类,用以提供简明的接口;从而使新系统与Facade对象交互,Facade与旧系统交互。代码实现SubSyst...

2019-10-16 10:43:38 90

原创 EventBus的简单使用方法

EventBus的简单使用方法文章目录EventBus的简单使用方法1.简介2.添加依赖3.使用简介3.1 定义一个事件类(Bean)3.2 在需要订阅事件的地方注册事件3.3 订阅事件3.4 及时取消注册事件订阅3.5 发布事件3.6 ProGuard混淆3.7 Sticky 粘性事件4.其他1.简介EventBus是针对Android 和Java的发布/订阅的事件总线。简化了组件之...

2019-10-15 18:53:11 131

原创 设计模式学习—07模板方法模式

模板方法模式文章目录模板方法模式UML解释说明代码实现参考资料UML解释说明模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。把不变的部分搬移到超类,去除子类中的重复代码,减少代码的冗余。提供了一个很好的代码复用平台。代码实现AbstractClass.classpackag...

2019-10-15 17:02:27 107

原创 多线程编程基础

多线程编程基础文章目录多线程编程基础1.进程与线程2.线程的状态3.多线程实现的三种方法3.1 继承Thread类3.2 实现Runnable接口3.3 实现Callable接口4.中断4.1 interrupt4.2 被阻塞线程下的中断4.3 安全地终止线程5.同步5.1 重入锁5.2 同步方法5.3 同步代码块5.4 一些概念5.5 volatile6. 阻塞队列6.1 阻塞队列简介6.2 ...

2019-10-14 14:50:44 214

原创 设计模式学习—06原型模式

原型模式文章目录原型模式UML解释说明代码实现参考资料UML解释说明原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。浅拷贝:若是引用类型的字段,复制其引用。深拷贝:若是引用类型的字段,创建新的对象再引用。java中创建浅表副本可以通过实现 Cloneable 接口。代码实现示例实现深拷贝。InfoEntity.classpackag...

2019-10-14 11:01:04 128

原创 设计模式学习—05工厂方法模式

工厂方法模式文章目录工厂方法模式UML解释说明代码实现参考资料UML解释说明工厂方法模式是简单工厂模式的进一步抽象和推广。工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法模式使一个类的实例化延迟到其子类。代码实现与简单工厂模式进行对比。Operation.classpackage learn05;public abstr...

2019-10-12 18:37:07 108

原创 初步了解Design支持库

初步了解Design支持库文章目录初步了解Design支持库1.开发环境2.SnackBar3.TextInputLayout4.FloatingActionButton5.TabLayout6.NavigationView7.CoordinatorLayout8.CollapsingToolbarlayout参考资料1.开发环境API 28JAVA 8Android Studio ...

2019-10-11 13:46:23 476

原创 设计模式学习—04代理模式

代理模式文章目录代理模式UML解释说明代码实现参考资料UML解释说明为其他对象提供一种代理以控制对这个对象的访问。远程代理:为一个对象在不同的地址空间提供局部代表,隐藏其存在于不同空间的事实。虚拟代理:根据需要创建大开销的对象,用来存放实例化耗时大的真实对象。安全代理:控制真实对象访问时权限。智能代理:调用真实对象时,代理处理另外一些事。代码实现Subject.c...

2019-10-11 10:39:10 95

原创 设计模式学习—03装饰模式

装饰模式文章目录装饰模式UML解释说明代码实现参考资料UML解释说明动态地给一个对象添加一些额外的职责。在增加功能的方面上,装饰模式比生成子类更为灵活。有效地把类的核心职责和装饰功能区分开。去除相关类中重复的装饰逻辑。代码实现Component.classpackage learn03;public abstract class Component { ...

2019-10-10 10:12:53 134

原创 Android 开发中3种Notification的简单应用

Android 开发中3种Notification的简单应用文章目录Android 开发中3种Notification的简单应用3种Notification代码实现运行环境3种Notification普通Notification折叠Notification悬挂Notification代码实现MainActivity.classpackage com.virtual....

2019-10-09 16:43:57 345

原创 设计模式学习—02策略模式

策略模式文章目录策略模式UML解释说明代码实现策略模式与简单工厂模式参考资料UML解释说明策略模式:定义多种算法,每种算法单独封装,算法之间可以相互替换。也即算法变化,使用算法的调用者不受影响。通过使用策略模式,可以通过相同的方式调用不同的算法。减少了定义算法与使用算法之间的耦合。策略模式简化了单元测试,即每个算法在一个单独的类中,可以单独测试。代码实现Strateg...

2019-10-09 10:44:12 123

原创 设计模式学习—01简单工厂模式

简单工厂模式文章目录简单工厂模式UML代码实现参考资料UML代码实现Operation.classpackage learn01;public abstract class Operation { private double numberA =0; private double numberB =0; public double getNumb...

2019-10-08 19:00:26 129

原创 Android 开发中好用的工具和第三方库

文章目录1.png格式图片压缩1.png格式图片压缩TinyPng

2019-09-30 17:17:00 319

原创 Android Studio 控件无法使用的问题

文章目录Q1:SwipereFreshLayout 无法使用1.1问题背景1.2解决方式Q2:AndroidX support依赖库对应表2.1 引用地址2.2 Support依赖库参考表Q1:SwipereFreshLayout 无法使用1.1问题背景Android Gradle Plugin Version: 3.2.1Gradle Version:5.1.1SDK : API ...

2019-09-30 17:13:18 919 1

C1碎片和UI模块化.rar

https://blog.csdn.net/qq_33334951/article/details/102687977配套代码

2019-10-22

空空如也

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

TA关注的人

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