摘要:
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 介绍 意图:为其他对象提供一种代理以控制对这个对象的访问。 主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的
阅读全文
posted @ 2016-06-18 16:42
嘉禾世兴
阅读(251)
推荐(0)
摘要:
享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建 5 个对象来画出 20 个
阅读全文
posted @ 2016-06-18 16:10
嘉禾世兴
阅读(189)
推荐(0)
摘要:
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 介绍 意图:为子系统中
阅读全文
posted @ 2016-06-18 12:07
嘉禾世兴
阅读(267)
推荐(0)
摘要:
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 我们通过下面的实例来演示装饰器模式的
阅读全文
posted @ 2016-06-18 11:51
嘉禾世兴
阅读(185)
推荐(1)
摘要:
组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。
阅读全文
posted @ 2016-06-17 23:30
嘉禾世兴
阅读(286)
推荐(0)
摘要:
过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。 实现 我们将创建一个 Person 对象
阅读全文
posted @ 2016-06-17 22:03
嘉禾世兴
阅读(367)
推荐(0)
摘要:
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 我们通过下面的实例来演示桥
阅读全文
posted @ 2016-06-17 21:22
嘉禾世兴
阅读(212)
推荐(0)
摘要:
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入
阅读全文
posted @ 2016-06-17 19:20
嘉禾世兴
阅读(208)
推荐(0)
摘要:
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操
阅读全文
posted @ 2016-06-17 13:12
嘉禾世兴
阅读(210)
推荐(0)
摘要:
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。 介绍 意图:将一个复杂的构建与其表示相分离,使
阅读全文
posted @ 2016-06-17 12:22
嘉禾世兴
阅读(213)
推荐(0)
摘要:
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该
阅读全文
posted @ 2016-06-16 20:50
嘉禾世兴
阅读(252)
推荐(0)
摘要:
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模
阅读全文
posted @ 2016-06-16 20:33
嘉禾世兴
阅读(282)
推荐(0)
摘要:
介绍 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 主要解决:主要解决接口选择的问题。 何时使用:我们明确地计划不同条件下创建不同实例时。 如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。 关键代码:创建过程在其子类执行。 应用实例
阅读全文
posted @ 2016-06-15 23:04
嘉禾世兴
阅读(289)
推荐(0)
摘要:
设计模式的六大原则: * 开闭原则(Open Close Principle) 开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想到达到这样的效果,我们需要使用接口和抽象类,后面的具体设计
阅读全文
posted @ 2016-06-15 12:57
嘉禾世兴
阅读(183)
推荐(0)
摘要:
* autocomplete autocomplete 属性规定 form 或 input 域应该拥有自动完成功能。 注释:autocomplete 适用于 <form> 标签,以及以下类型的 <input> 标签:text, search, url, telephone, email, passw
阅读全文
posted @ 2016-06-14 22:07
嘉禾世兴
阅读(342)
推荐(0)
摘要:
* datalist datalist 元素规定输入域的选项列表。 列表是通过 datalist 内的 option 元素创建的。 如需把 datalist 绑定到输入域,请用输入域的 list 属性引用 datalist 的 id: * keygen keygen 元素的作用是提供一种验证用户的可
阅读全文
posted @ 2016-06-14 21:51
嘉禾世兴
阅读(229)
推荐(0)
摘要:
* email * url * number * range * data HTML5 拥有多个可供选取日期和时间的新输入类型: date - 选取日、月、年 month - 选取月、年 week - 选取周和年 time - 选取时间(小时和分钟) datetime - 选取时间、日、月、年(UT
阅读全文
posted @ 2016-06-14 21:45
嘉禾世兴
阅读(272)
推荐(0)
摘要:
Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器的更新。 以前也可能做到这一点,前提是网页不得不询问是否有可用的更新。通过服务器发送事件,更新能够自动到达。 创建一个新的 EventSource 对象,然后规定发送更新的页面的 URL(本例中是
阅读全文
posted @ 2016-06-14 21:37
嘉禾世兴
阅读(264)
推荐(0)
摘要:
什么是 Web Worker? 当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。 web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。 计
阅读全文
posted @ 2016-06-14 21:32
嘉禾世兴
阅读(190)
推荐(0)
摘要:
HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。 应用程序缓存为应用带来三个优势: 离线浏览 - 用户可在应用离线时使用它们 速度 - 已缓存资源加载得更快 减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。 例: 如需启用应用程序缓存
阅读全文
posted @ 2016-06-14 21:25
嘉禾世兴
阅读(299)
推荐(0)
摘要:
HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得
阅读全文
posted @ 2016-06-14 21:09
嘉禾世兴
阅读(191)
推荐(0)
摘要:
检测是否支持地理定位 如果支持,则运行 getCurrentPosition() 方法。如果不支持,则向用户显示一段消息。 如果getCurrentPosition()运行成功,则向参数showPosition中规定的函数返回一个coordinates对象 showPosition() 函数获得并显
阅读全文
posted @ 2016-06-14 21:03
嘉禾世兴
阅读(346)
推荐(0)
摘要:
* SVG SVG 是一种使用 XML 描述 2D 图形的语言。 SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。 在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图
阅读全文
posted @ 2016-06-14 20:54
嘉禾世兴
阅读(169)
推荐(0)
摘要:
什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺寸的情况下其图形质量不会有损失 SVG 是万维网联盟的标准 SVG 的优势 与其他图像格式相比(比如
阅读全文
posted @ 2016-06-14 20:51
嘉禾世兴
阅读(416)
推荐(0)
摘要:
什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。 画布是一个矩形区域,您可以控制其每一像素。 canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。 * 添加 canvas 元素。规定元素的 id、宽度和高度: * canvas
阅读全文
posted @ 2016-06-14 20:44
嘉禾世兴
阅读(281)
推荐(0)
摘要:
效果图: 为了使元素可拖动,把 draggable 属性设置为 true : 拖动什么 - ondragstart 和 setData() drag(event),它规定了被拖动的数据。 dataTransfer.setData() 方法设置被拖数据的数据类型和值: 数据类型是 "Text",值是可
阅读全文
posted @ 2016-06-14 20:25
嘉禾世兴
阅读(378)
推荐(0)
摘要:
当前,audio 元素支持三种音频格式: <audio> 标签的属性 如果出现该属性,则音频在页面加载时进行加载,并预备播放。 如果使用 "autoplay",则忽略该属性。
阅读全文
posted @ 2016-06-14 20:08
嘉禾世兴
阅读(268)
推荐(0)
posted @ 2016-06-14 20:03
嘉禾世兴
阅读(316)
推荐(0)
摘要:
当前,video 元素支持三种视频格式: Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件 MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件 WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件 <vi
阅读全文
posted @ 2016-06-14 19:56
嘉禾世兴
阅读(436)
推荐(0)
摘要:
HTML5 建立的一些规则: 新特性应该基于 HTML、CSS、DOM 以及 JavaScript。 减少对外部插件的需求(比如 Flash) 更优秀的错误处理 更多取代脚本的标记 HTML5 应该独立于设备 开发进程应对公众透明 HTML5 中的一些有趣的新特性: 用于绘画的 canvas 元素
阅读全文
posted @ 2016-06-14 19:54
嘉禾世兴
阅读(180)
推荐(0)
摘要:
步骤: 1. 把c文件后缀名换成cpp2. Android.mk文件中的hello.c也要换成hello.cpp3. c++的使用的环境变量结构体中,访问了c使用的结构体的函数指针,函数名全部都是一样的,只是参数去掉了结构体指针4. 访问函数指针时,把env前面的*号去掉,因为此时env已经是一级指
阅读全文
posted @ 2016-06-11 16:15
嘉禾世兴
阅读(555)
推荐(0)
摘要:
jni的调用过程 1)安装和下载Cygwin,下载Android NDK 2)在ndk项目中JNI接口的设计 3)使用C/C++实现本地方法 4)JNI生成动态链接库.so文件 5)将动态链接库复制到java工程,在java工程中调用,运行java工程即可 NDK 1.NDK是一系列工具的集合,帮助
阅读全文
posted @ 2016-06-10 18:31
嘉禾世兴
阅读(459)
推荐(0)
摘要:
JNI java本地开发接口 JNI 是一个协议 这个协议用来沟通java代码和外部的本地代码(c/c++). 通过这个协议,java代码就可以调用外部的c/c++代码 外部的c/c++代码也可以调用java代码 * 输出 * C调用java的hello * C的基本数据类型 char, int,
阅读全文
posted @ 2016-06-08 23:55
嘉禾世兴
阅读(421)
推荐(0)
摘要:
* 在Internet中TCP/IP协议是使用最为广泛的通讯协议。TCP/IP是英文Transmission Control Protocol/Internet Protocol的缩写,意思是“传输控制协议/网际协议”。 * TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文
阅读全文
posted @ 2016-06-07 22:54
嘉禾世兴
阅读(625)
推荐(0)
摘要:
* 每个HTTP-GET和HTTP-POST都由一系列HTTP请求头组成,这些请求头定义了客户端从服务器请求了什么,而响应则是由一系列HTTP请求数据和响应数据组成,如果请求成功则返回响应的数据。 * HTTP-GET以使用MIME类型application/x-www-form-urlencode
阅读全文
posted @ 2016-06-07 22:44
嘉禾世兴
阅读(8697)
推荐(1)
摘要:
* WWW是以Internet作为传输媒介的一个应用系统,WWW网上基本的传输单位是Web网页。WWW的工作是基于客户机/服务器计算模型,由Web浏览器和Web服务器构成,两者之间采用超文本传输协议HTTP进行通信。 * HTTP协议时基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间
阅读全文
posted @ 2016-06-07 22:34
嘉禾世兴
阅读(221)
推荐(0)
摘要:
效果图: 标题和fragment联动效果已经封装好了,非常方便 配置要特别注意
阅读全文
posted @ 2016-05-30 18:40
嘉禾世兴
阅读(487)
推荐(0)
摘要:
需求: 输入框一旦有值,即显示删除图标;点击切换明密文按钮,可以切换 布局: 代码
阅读全文
posted @ 2016-05-27 19:56
嘉禾世兴
阅读(4721)
推荐(0)
posted @ 2016-05-26 12:16
嘉禾世兴
阅读(301)
推荐(0)
摘要:
1.登录创建应用后得到id 2.在清单文件中添加权限 3.在mainactivity中添加初始化代码 4.在gradle文件中添加仓库地址 5.在另一个gradle文件中添加依赖 6.创建JavaBean,类名要和数据库的表明一致,属性名要和表中字段一致 7.增删改查 save/delete/upd
阅读全文
posted @ 2016-05-25 15:59
嘉禾世兴
阅读(4029)
推荐(0)