关闭

[置顶] 移动架构22_迭代器模式

一、 定义: 提供一种方法顺序访问一个容器对象中的各个元素,而又不需要暴露该对象的内部表示 二、优点      简化了遍历方式,对于对象集合的遍历,还是比较麻烦的,对于数组或者有序列表,我们尚可以通过游标来取得,但用户需要在对集合了解很清楚的前提下,自行遍历对象,但是对于hash表来说,用户遍历起来就比较麻烦了。而引入了迭代器方法后,用户用起来就简单的多了。      可以提供...
阅读(25) 评论(0)

[置顶] ViewDragHelper

转载于: http://blog.csdn.net/lmj623565791/article/details/46858663;  一、概述 ViewDragHelper is a utility class for writing custom ViewGroups. It offers a number  of useful operations a...
阅读(29) 评论(0)

[置顶] Dialog常见问题(布局错误、黑边、圆角、异常)

#1 new AlertDialog.Builder(getApplicationContext),Dialog弹出时会报错:     AndroidRuntime(27884): android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@42c0d5e0 --...
阅读(28) 评论(0)

[置顶] 移动架构20_策略模式

一、定义 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们之间可以相互替换,策略模式让算法独立于使它的客户独立而变化   二、角色 环境(Context)角色  持有一个Strategy的引用 抽象策略(Strategy)角色  这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。 具体策略(ConcreteStrategy)角色  包装...
阅读(26) 评论(0)

[置顶] ExifInterface图片附加信息

一、作用: 主要描述多媒体文件比如JPG格式图片的一些附加信息,比如拍照的设备厂商,当时的日期时间,曝光时间,快门速 度等,调用API的Level至少为5即2.0SDK 二、构造 ExifInterface e = new ExifInterface(imageFile.getAbsolutePath()); 三、生成缩略图 public byt...
阅读(33) 评论(0)

[置顶] 移动架构19_状态模式

一、定义 当一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。又称状态对象模式,状态模式是对象的行为模式。 二、角色 环境(Context)角色   上下文:定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。这个定义了对象的当前状态 抽象状态(State)角色 定义一个接口,用以封装环境(Context)对象的一个特定的状态所对...
阅读(45) 评论(0)

[置顶] drawable的<bitmap/>标签实现图片复用repeatMode效果

实现图片重复效果 1、原图 效果图: 2、实现: 1)原图:crop__tile.png 2)定义drawable:crop__texture.xml android:src="@drawable/crop__tile" android:tileMode="repe...
阅读(28) 评论(0)

[置顶] Uri获取Bitmap

为了防止溢出,通常我们会给定一个长宽限制: public class UtilsBitmap { /** * 读取一个缩放后的图片,限定图片大小,避免OOM * @param uri 图片uri,支持“file://”、“content://” * @param maxWidth 最大允许宽度 * @param maxHeight 最大允许高度 * @retu...
阅读(45) 评论(0)

[置顶] 移动架构18_ListView源码分析

一、观察者模式在ListView的实现 BaseAdapter是被观察者,ListView是观察者,被观察者一般有一个存储观察接口的集合,查找BaseAdapter中的这个集合。 private final DataSetObservable mDataSetObservable = new DataSetObservable();//集合的封装 找到注册观察者的方法:...
阅读(25) 评论(0)

[置顶] 移动架构17_观察者模式

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己...
阅读(27) 评论(0)

[置顶] 移动架构16_模板模式

一、定义 定义一个操作中的算法框架,而将一些步骤延迟到子类中,使得子类不改变算法的结构即可重复定义算法的某些特点步骤   二、角色 AbstractClass抽象类,定义算法结构,还可以提供通用实现 ConcreteClass具体实现类  选择性的重定义算法中某些特定步骤   三、解决的问题 一些方法通用,却在每一个子类都重新写了这一方法。   四、优缺点...
阅读(26) 评论(0)

[置顶] 移动架构15_解释器模式

一、介绍 解释器是一种用的比较少的行为模式,其提供了一种解释语言的语法,或者表达式的方式。该模式定义了一个表达式的接口。   二、重点: 1、必须有一个抽象接口 2、构建语法树 三、   应用场景:  1、简单的语言需要解释执行而且可以将该语言中的语句表示一个抽象的语法树       2、对于某个特定的领域出现的不断重复的问题,可以转换成一种语法规则...
阅读(27) 评论(0)

[置顶] 移动架构01_UML用例图

用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示一个外部用户能够观察到的系统功能模型图。用例图多用于静态建模阶段(主要是业务建模和需求建模),帮助开发团队以一种可视化的方式理解系统的功能...
阅读(35) 评论(0)

[置顶] 禁止ScrollView内的控件改变之后自动滚动

如何禁止scrollView 的子控件自动滑到 底部或者中间部分 现象:当一个scrollView 里面包含很多childView,并且整个界面超出屏幕的范围,而且每个childView都获取焦点,scrollView就会自动滑到底部或者中间部分。  可以使用以下几种方法解决: 1:有点绕,基本思路,就是让scrollView优先于childView获取到焦...
阅读(45) 评论(0)

移动架构28_设计模式六大原则六: 开闭原则

1、定义:软件的实体类, 模块, 函数应该对扩展开放, 对修改关闭; 即 软件实体应该通过扩展实现变化, 不是通过修改已有的代码实现变化;问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已...
阅读(56) 评论(0)

移动架构27_设计模式六大原则五: 迪米特法则

1、定义:最少知识原则, 一个对象应该对其它对象有最少的了解, 即一个类对自己需要耦合或者调用的类知道的最少; 问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。 解决方案:尽量降低类与类之间的耦合。2、原则:保持距离方法 : 将 类 B 暴露给 A 的方法封装, 暴露的方法越少越好, 类 B 高内聚, 与 A 低耦合; 设计方法 : 一个类的 pub...
阅读(70) 评论(0)

移动架构26_设计模式六大原则四:依赖倒置原则

1、定义:细节依赖抽象 : 高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。抽象就是接口和抽象类 细节就是具体的实现类 问题由来: 类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。 解决办法:...
阅读(55) 评论(0)

移动架构25_设计模式六大原则三:接口隔离原则

1、定义接口隔离定义:建立单一的接口,功能尽量细化,不要建立臃肿的接口; –不需要的接口:客户端尽量不依赖其不需要的接口,客户端需要什么接口就提供什么接口,剔除不需要的接口,对接口进行细化,保持接口方法最少; –最小接口:类间的依赖关系应该建立在最小接口上,细化接口;问题的由来:类A通过接口1依赖类B,类C通过接口1依赖类D,如果接口1对应类A和类B来说不是最小接口,则类B和类D必须去实现他们不需...
阅读(55) 评论(0)

移动架构24_设计模式六大原则二:里氏替换原则

设计模式六大原则: 单一原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 二、里氏替换原则 1、定义 所有引用基类的地方必须能够透明地使用其子类的对象;通俗点将,只要父类出现的地方,子类就可以出现,替换为子类也不会产生任何错误,使用者不需要知道是父类还是子类; 问题由来:有一功能P1,由类A完成。现需要将功...
阅读(29) 评论(0)

移动架构21_动画框架源码分析

一、 初始化:ofFloat(imageView,"scaleX",of,1f) 动画几个启动元素的封装:控件、动画属性描述(平移还是缩放、x方向还是y方向)、过程(起始、过程、终止);它只是做了动画关键帧(KeyFrameSet)的解析 (1)ObjectAnimator(extends ValueAnimator ):ofFloat public stat...
阅读(77) 评论(0)

Crop 选择相册图片并手动裁切

一、 功能: 获取相册图片并手动进行裁切 二、简介 基于ASOP (Android Open-Source Project:Android 开放源代码项目) 维护更新频次不是很高 Github地址:https://github.com/jdamcd/android-crop 三、主要特点 Gradle构建和AAR 现代化的UI 向后兼容...
阅读(49) 评论(0)

移动架构23_设计模式六大原则一:单一职责原则

设计模式六大原则: 单一原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则 一、单一职责原则 1、定义 单一原则(SRP:Single responsibility principle)又称单一职责原则。它规定一个类应该只有一个发生变化的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T如果负责两个不同的职责:职责P1、职责P2。当由于职责P1需求发生改变而需要修...
阅读(151) 评论(0)
113条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:35253次
    • 积分:1385
    • 等级:
    • 排名:千里之外
    • 原创:105篇
    • 转载:8篇
    • 译文:0篇
    • 评论:2条