- 博客(9)
- 资源 (4)
- 收藏
- 关注
原创 装饰者模式
定义: 动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。装饰模式中的角色:抽象构件(Component)角色:Component是一个抽象类或接口,是要包装的原始对象。具体构件(ConcreteComponent)角色:是Component的实现类,最终要装饰的实际对象。装饰(Decorator)角色:是一个抽象类,继承或实现了Compon...
2018-04-28 09:09:43 5486 4
转载 Android XML报错: InflateException: Binary XML file line #0 ... ‘String.equals()’ on a null object...
转载自: https://blog.csdn.net/myth13141314/article/details/79049882今天碰到个莫名其妙的报错 android.view.InflateException: Binary XML file line #11: Attempt to invoke virtual method ‘boolean java.lang.String....
2018-04-27 12:39:57 447
原创 观察者模式
定义: 定义了对象之间的一种一对多的依赖关系,当一个对象状态发生改变时,它的所有依赖者都会收到通知并自动更新。观察者模式也叫发布订阅模式(Publish/subscribe), 类图如下: 观察者模式中的角色主题角色,主题角色就是被观察者,它可以注册或者删除观察者对象,并且持有一个观察者对象的集合,当状态发生变化时,主题可以通知所有注册的观察集合中的每一个观察者进行更新。...
2018-04-26 08:51:43 350
原创 Android Studio aar包的使用
Android Studio生成的aar可以包含所有的资源文件,包括res资源和class文件等,如果有so文件或者依赖的jar包也会打包进去。但是如果项目有依赖的aar则不会被打包进去(这点目前无法解决,除非拿到源码重新编译),AS当中只有library module才能编译生成aar包。编译生成aar执行Build Project或者在右边的gradle栏中选中对应的library mod...
2018-04-24 10:20:13 8583 2
原创 策略模式
定义:定义一组算法,将每个算法封装起来,并且使他们之间可以互换。UML类图: 策略模式中的三个角色:Context上下文角色,持有对Strategy策略方法的引用和访问Strategy策略抽象角色,为具体算法提供了抽象方法或属性,在java中可以是接口或者抽象类。ConcreteStrategy具体策略角色,实现了抽象策略角色中的具体操作算法。相关代码:p...
2018-04-24 08:54:48 384 1
原创 OO六大设计原则最全分析总结篇
面向对象(OO)的基本特征:抽象,先不考虑细节封装,隐藏内部实现继承,复用现有代码多态,改写对象行为这几个特征是贯穿于所有的设计原则和所有的设计模式背后的思想,你会发现无论是哪一种设计原则或者设计模式都是在为了满足了其中的某些特征而努力。 OO六大设计原则:单一职责开闭原则里氏替换依赖倒置接口隔离迪米特法则1. 单一职责原则(SRP) 定义...
2018-04-20 09:06:14 4194 1
原创 UML类图之间的关系
首先,看懂类图:类(Class) 在面向对象(OO) 编程中,类是对现实世界中一组具有相同特征的物体的抽象。 接口(Interface) 接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。在UML中,接口使用一个带有名称的小圆圈来进行表示。 类图之间的关系1. 泛化(Generalization)【泛化关系】:是一种继承关系,也称为“is...
2018-04-10 23:09:28 392
原创 Markdown语法简介
Markdown是一种轻量级的标记语言,它可以使用极少数的标记符号来获得较为丰富的表达形式。 它的简单方便高效,使得编辑者可以更多的关注编辑内容。同时,Markdown支持和兼容部分HTML标记,这也极大的丰富了Markdown的展现样式。Markdown常用语法标题1. 用#标记在 标题开头 加上1~6个#,依次代表一级标题、二级标题….六级标题# ...
2018-04-10 02:28:27 340
原创 Android-FragmentPagerAdapter刷新无效的解决方案
最近在重构项目的时候有个地方想要做一个更换FragmentPagerAdapter中的Fragment的功能,按照通常使用ListView的习惯做法,如果你只是更新保存Fragment的List数据,然后调用adapter的notifyDataSetChanged()是不会起作用的(下面会分析原因)。 搜索了下发现此问题普遍存在,多数是说先移除Fragment再notifyDataSetChan...
2018-04-04 14:40:54 8709 3
Android性能优化学习源码
2023-11-26
Android内存OOM优化详解.pdf
2023-11-26
Android中进程的ADJ值.pdf
2023-11-26
C++参考手册C++参考手册C++参考手册C++参考手册
2023-11-01
Android类加载机制、插件化、热修复
2023-10-24
RangSeekBar
2023-10-21
Android JNI中C++层与Java层的对象交互实例
2023-10-16
JNI技术之动态注册与JNI线程.pdf
2023-10-16
ffmpeg处理音视频流程
2023-10-16
音视频入门基础知识笔记
2023-10-16
音视频编解码相关的基础知识点
2023-10-16
Android做的视频播放器MediaPlayer
2012-08-12
MediaPlayer
2012-07-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人