摘要: 优秀的网页应该要支持以下情况平稳退化:当JavaScript功能被禁用,用户也可以实现基本功能。JavaScript与HTML标记应该要分离。添加事件处理函数。检查当前浏览器是否支持我们使用的函数。结构化程序设计。函数应该只有一个入口和一个出口。但实际工作中,过分拘泥于这项原则往往会使代码变得难以阅读。如果函数有多个出口,我们应该把这些出口集中在开头部分。网页加载完毕后再执行JavaScript函数修改后的js为window.onload = addLoadEvent(prepareGallery);function addLoadEvent(func) { var oldload = win 阅读全文
posted @ 2012-02-12 14:26 卡马克 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 下载Cygwin,因DEVEL包太大,我们只需要下载编译NDK所用到的几个包。 autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make在 Cygwin安装目录/home/你的用户名/ 目录下编辑.bash_profile 文件,请使用Editplus, UltraEdit等工具,不要使用Windows记事本。NDK=/cygdrive/c/android-ndk-r7export NDK名称可以随意取,我用了NDK,以后输入命令都是使用该名称。蓝色. 阅读全文
posted @ 2012-02-10 14:58 卡马克 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 概述:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。实用性:一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。 各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。首先识别现有代码中的不同之处,并且将不同之处分离为新的操作。最后,用一个调用这些新的操作的模板方法来替换这些不同的代码。 控制子类扩展。参与者:AbstractClass:定义抽象的原语操作(primitiveoperation),具体的子类将重定义它们以实现一个算法的各步骤。实现一个模板方法,定义一个算法 阅读全文
posted @ 2012-02-08 15:24 卡马克 阅读(124) 评论(0) 推荐(0) 编辑
摘要: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf- 阅读全文
posted @ 2012-02-05 10:21 卡马克 阅读(196) 评论(0) 推荐(0) 编辑
摘要: DOM = document + object+model<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" conten 阅读全文
posted @ 2012-02-04 23:07 卡马克 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 实现JavaScript代码必须通过HTML/XHTML文档才能执行。有两种方式可以做到这点。1. 将JavaScript代码放到文档<head>标签中的<script>标签之间:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&q 阅读全文
posted @ 2012-02-04 16:29 卡马克 阅读(188) 评论(0) 推荐(0) 编辑
摘要: /** * Sends a Message containing only the what value. */ public final boolean sendEmptyMessage(int what) { return sendEmptyMessageDelayed(what, 0); }/** * Pushes a message onto the end of the message queue after all pending messages * before the current time. It will be received in {@link #handleM.. 阅读全文
posted @ 2012-01-21 13:01 卡马克 阅读(614) 评论(0) 推荐(0) 编辑
摘要: Android使用主题 阅读全文
posted @ 2012-01-19 10:24 卡马克 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 按钮Click事件:privatevoidmyButton1_Click(objectsender,RoutedEventArgse) {stringstr ="go to your c\\ ";myTextBlock.Text = str; }红色部分为该组件的属性name的名称。在这里我们有:<ButtonContent="myTextButton"Name="myButton"VerticalAlignment="Top"Width="160"ClickMode="Pres 阅读全文
posted @ 2012-01-08 15:56 卡马克 阅读(530) 评论(1) 推荐(0) 编辑
摘要: ListView和适配器的基础:它是如何工作的:ListView 向适配器说“给我的每个条目一个布局”一个新的布局创建出来并显示出来下一个问题:当我们有10亿个条目的时候怎么办,难道新创建一个新的布局并显示出来吗?答案肯定是“不”。Android会为你把布局缓存起来。这一部分在Android中称呼为"Recycle - 回收利用"。以下为它的具体实现过程图。当你有一亿个条目的时候, 只有可看见的View保存在内存中+Recycle过的View当ListView第一次向适配器请求一个VIew的时候,convertView为null,因此需要新建一个convertView.当L 阅读全文
posted @ 2012-01-01 12:21 卡马克 阅读(231) 评论(0) 推荐(0) 编辑