朱祁林       zhuqilin   
摘要: 从WF4.0 betal1出来的时候就开始使用WF4.0,由于资料不多,学习过程也非常艰苦。今年四月份的时候打算写WF4.0实战系列,由于今年是本命年故坚持写了24篇文章。这个系列的文章都有一个特点,就是每篇文章都有一个实例,所以对初学者来说是很有帮助的。这个系列的绝大数文章和程序都是原创,少数是翻译和借鉴别人的。写一个文章索引,方便WF4的学习者查看。 WF4.0实战(一):文件审批流程 WF4...阅读全文
posted @ 2010-07-05 09:17 麒麟 阅读(13983) 评论(16) 编辑
摘要: 最近在做一个微信项目,接触到了微信公众平台。通过公众平台可以很方便的搭建一个功能完善的移动应用。昨天发现:开发者可使用手机号来申请接口测试帐号,体验高级接口。 这篇文章的应用将使用到高级接口中的语音识别,以及音乐回复接口。通过这两个接口,让大家体验一下语音点歌的魅力。 这个应用简单的来说:就是你向微信公众平台报一首歌名,微信公众平台返回这首歌曲给你听。本文将一步一步教你如何实现这个看似复杂的移动应用。 下面是我申请的测试账号的二维码,大家可以关注一下测试一下效果,不过测试账号的有效期只有一年,最多只能有20个关注者。另外一个是我个人的订阅号,有更多的功能,没有人数限制,但是不能识别语音。说..阅读全文
posted @ 2013-12-03 18:35 麒麟 阅读(5502) 评论(39) 编辑
posted @ 2013-10-11 10:26 麒麟 阅读(700) 评论(0) 编辑
摘要: 最近研究微信公众平台,这里整理了一下向特定用户推送消息的思路一、首先需要将微信的openid与系统用户绑定。在用户关注公众平台的时候,回复一个链接,要求用户绑定,可以设计如下消息进行回复,(openid最好进行加密处理,后者还需要用这个字段绑定fakeid)。欢迎关注有问必答平台,点击此处进行用户绑定! 在bind.html页面将openid与系统的usercode进行绑定,这个绑定过程非常简单,这里不详叙述。二、将openid与fakeid进行绑定微信公众平台是一回一答的模式;但是在微信公众平台后台,可以向特定用户进行消息发送。我们利用这个机制使用代码去模拟这个过程来实现消息推送。首先需要模阅读全文
posted @ 2013-10-06 21:13 麒麟 阅读(9508) 评论(9) 编辑
摘要: 最近发现客户在输入序列号时,经常输入圆角。导致下载不了应用。下面这段js可以将圆角字符转成半角,将半角转成圆角。原理很简单,就两条:1、全角空格为12288,半角空格为 32 2、其他字符半角(33-126)与全角 (65281-65374)的对应关系是:均相差65248故代码如下://半角转换为全角函数 function ToDBC(txtstring) { var tmp = ""; for (var i = 0; i 65248 && str.charCodeAt(i) < 65375) { tmp += String.fromCharCode(阅读全文
posted @ 2013-08-20 14:33 麒麟 阅读(768) 评论(1) 编辑
摘要: 以前一直以来都觉得xml个可读性要比json的可读性好,后来使用了JSON Viewer这个小工具之后,发现自己错了。之前认为json的可读性差,完全是因为没有很好的查看工具。JSON Viewer这个小工具可以很方便的查看json数据。点击Format可以方便的将凌乱的json格式化。如果json格式不正确,能够得到很好的提示。方便的查看键值对。对数据内容进行查询。阅读全文
posted @ 2013-02-22 17:10 麒麟 阅读(6190) 评论(8) 编辑
摘要: 临近年末,公司研发部组织了一次“我最喜欢的办公桌面”活动,一等奖是iPad mini,希望要有主题,要有创意。 我的桌面太乱,所以不求拿奖,只求让自己的办公桌焕然一新。大家如果有好idea,不妨提出来,回去不妨整理一下自己的办公桌,换取一份好的心情。 我设计的主题是“简单的自己”: 小时候的梦想是成为一位摄影师,带着照相机去远游,去记录一切美好的事物。 长大了乔布斯成为了我的偶像,所以我选择成为了一名程序员。 作为摄影爱好者,喜欢相机的一咔嚓的声响。将山水、虫鸟、城市、乡村等等一切的美好封存起来。作为宅男,工作也很累,偶尔玩一下游戏,放轻松一下。作为文艺青年,我对四大名著矢志不渝。作为程序员.阅读全文
posted @ 2012-12-23 12:02 麒麟 阅读(3240) 评论(10) 编辑
摘要: 背景介绍最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL。 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识。 1、密码学的相关概念密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。明文(plain text):发送人、接受人和任何访问消息的人都能理解的消息。密文(cipher text):明文消息经过某种编码后,得到密文消息。加密(encryption):将明文消息变成密文消息。解密(decryption):将密文消息变成明文消息。算法:取一个输入文本,产生一个输出文本。加密算法:发送方进行加密的算法。解阅读全文
posted @ 2012-10-06 14:49 麒麟 阅读(7472) 评论(7) 编辑
摘要: 读的专业书籍很少,非专业书籍居多,推荐几本给大家,希望对你有所帮助。1、《如何阅读一本书》:教你如何阅读2、《金字塔原理》:如何写作、如何思考、如何表达。3、《高效能人士的七个习惯》:如何高效的做事。4、《社交商》:如何移情,人的情绪是可以扩散的。5、《追寻生命的意义》:如何让生命更有意义6、《定见》:如何预知未来。7、《认知盈余:自由时间的力量》:如何利用自由时间。8、《启示录》:如何打造用户喜爱的产品。阅读全文
posted @ 2012-08-11 20:15 麒麟 阅读(2039) 评论(0) 编辑
摘要: 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。HTTPS简介HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。1. 客户端发起HTTPS请求这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到server的443端口。2. 服务端的配置采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织阅读全文
posted @ 2012-07-23 10:25 麒麟 阅读(2920) 评论(4) 编辑
摘要: 岗位职责:参与公司的.NET产品开发,具体职责如下:1. 按照《功能规格设计说明书》的要求,完成编码工作;2. 修复产品的BUG;3. 参与功能规格设计讨论,细化部分《功能规格设计说明书》;4. 参与技术方案讨论,并进行技术方案验证;5. 辅导新员工;任职要求:1. 专业知识技能: ⑴熟练使用VS.NET 2003/2005、VSS源代码管理器以及IIS等开发工具;⑵熟练VB.NET/ASP.NET或ASP编程,了解ASP.net服务器控件的生命周期,熟练掌握HTML、CSS、Javascript 等WEB页面设计与编程; ⑶熟练使用Sql Server中企业管理器、查询分析器和事件探查器,能阅读全文
posted @ 2012-07-09 21:11 麒麟 阅读(2589) 评论(1) 编辑
摘要: 最近在读《高效能人士的七个习惯》这本书,读了两遍,在我看来这是一本好书,但是却没有想象那么好。因为虽然书中提到的七个信条,真的都是非常精粹和正确的人生道理,但实际掌握和融合进自己信念的过程要远比书中提到的方法复杂得多,就是我们一直说的知易行难。 明朝伟大的哲学家王阳明几百年前就提出“知行合一”,书看了自当需要去实践。便有了这篇读后感,这篇文章将谈一谈我对高效能技术团队的一些看法,理论还是来自这本书,不过将场景套在我们软件技术团队的上。 在IT业内中,无论互联网产品,还是成熟的企业级应用,或者是手机平板电脑,他们背后都有一个团队,所以我认为个人的高效能不可怕,只有个人所在的团队高效能起来才可怕.阅读全文
posted @ 2012-06-30 19:11 麒麟 阅读(4667) 评论(15) 编辑
摘要: 1、安装Service: InstallUtil yourService.exe2、卸载Service InstallUtil /u yourService.exe如果 service在运行,该命令会尝试停止Serive再卸载。3、启动Service Net start "Your Service""Your Service"是ProjectInstaller类里 system.ServiceProcess.ServiceInstaller.ServiceName的值,它是你在Service管理器里可以看到的Service名称。 4、调试Service 阅读全文
posted @ 2012-06-13 15:44 麒麟 阅读(685) 评论(0) 编辑
摘要: 一、必要条件1、一台运行Snow Leopard(os x 10.6.5或者更高版本)的基于Intel的Macintosh计算机。2、注册成为iOS开发人员,下载iOS SDK。3、下载XCode集成开发环境。二、开发者选择:1、免费的SDK包含一个模拟器,它支持在mac上创建和运行iPhone和iPad程序。但是模拟器不支持依赖硬件的某些特性,如iPhone的加速计或者摄像头,也不支持将应用程序安装到实际的iPhone或其他设备上。开发的应用也不能发布到appstore上。如果要实现这些功能,需要注册另外两个收费的选项。2、标准方案是99美元一年。提供了大量的开发工具、资源和技术支持,支持在阅读全文
posted @ 2012-05-24 21:57 麒麟 阅读(4006) 评论(0) 编辑
摘要: 大家都知道google 现在被限制的很厉害,进入都要很久,更别提搜索时抽风了。其实这不是google 的错,原因大家都懂的。 回到正题,有很多童鞋就因为google 的抽风而放弃了google,今天这个hosts修改让你秒开google,自测一个月未发现一次抽风的现象。 不了解hosts的可先百度一下。 注意: 1.hosts 修改器部分安全软件可能会有误报,如提示,请勾选允许。 2.改了hosts后会提示DNS劫持到google这个是正常现象。http://files.cnblogs.com/zhuqil/18251777032236.rar阅读全文
posted @ 2012-04-23 10:58 麒麟 阅读(3183) 评论(7) 编辑
摘要: 此工具可以免费下载百度文库中所有的原格式文档,包括收费的和免费的! 不需登录,不需要积分财富值,一切轻松下载。文档分类、文档搜索、文档预览、文档复制粘贴、文档下载保存5大功能, 注意:软件采用VS2010 C# 开发,必须要安装 Net Framework 4.0 框架才能运行本软件!Net Framework 4 下载地址 先粘贴百度文控链接,然后点击下载原版点击下载按钮弹出的IE页面点击下载此文档下载:http://files.cnblogs.com/zhuqil/2404251719559.rar阅读全文
posted @ 2012-04-23 10:54 麒麟 阅读(2054) 评论(5) 编辑
摘要: 2011一晃过去了,看过一些书,这里列个清单总结一下。大家有兴趣的可以看看。1、《明朝那些事儿1、2、3、4、5、6、7》 "以铜为镜,可以正衣冠;以古为镜,可以知兴替;以人为镜,可以明得失",人读点历史挺好的。这套书一共七部,都相当精彩。下面是看书时写的几条微博。 a、无论是朱重八、张居正、还是孙承宗等。能人具备三种能力:1、谋(谋略);2、断(拍板);3、侃(忽悠)。遇到一个问题,提出解决方案便是谋;如果可行的解决方案有好几种,就需要人拍板,这便是断。最后,只有谋得深,断得准才能侃的好,. b、王守仁的心学,影响了至他之后几百年的历史。通过他的致良知,知行合一,推翻了自阅读全文
posted @ 2012-01-01 20:57 麒麟 阅读(2986) 评论(13) 编辑
摘要: 最近看了《简约至上》这本书,这本文章总结一下。推荐给对交互设计感兴趣的童鞋。话说简单首先人们喜欢简单、值得信赖、适应性强的产品。所以我们才会费尽心力去设计简单的产品。人们喜欢简单的产品原因有:1、产品的功能越多,就越难发现真正对用户有价值的新功能。2、因为增加的复杂性导致他们很难找到自己真正需要的功能。一想到为那么多没用的功能买单,他们就高兴不起来。但是用户简单,并不意味着我们的技术或者管理简单。简单的技术或者管理,不一定就能创造简单的用户体验。看看google就知道了,他们为了使搜索变得简单,但是需要雇佣几千人在背后进行复杂的技术。所以简单的设计一点也不简单。如何进行简单设计首先,我们必须认阅读全文
posted @ 2011-12-16 13:27 麒麟 阅读(2913) 评论(7) 编辑
摘要: 一只iPhone的全球之旅如下:1、iPhone在美国硅谷苹果总部设计。2、iPhone的闪存等多个关键零部件在日本生产。3、iPhone的CPU、显示屏等零部件在韩国生产。4、iPhone的触摸屏等部件在中国苏州生产。5、iPhone的摄像头等在中国台湾生产。6、iPhone在中国深圳的富士康组装。7、iPhone在美国拉斯维加斯中转进入美国。8、iPhone在美国纽约的苹果旗舰店出售,然后被排队的华人黄牛党买走。9、然后水货在中国香港出售。10、正品的iPhone在上海的苹果旗舰店出售。11、二手的iPhone被送到深圳华强北翻新,然后再出售。阅读全文
posted @ 2011-12-02 17:13 麒麟 阅读(1069) 评论(1) 编辑
摘要: 最近读了彼得·圣吉的《第五项修炼》,有点感悟。这本书是从系统力学的角度阐述如何建立学习型的组织,通过建立学习型的组织,使企业从优秀到卓越,使企业基业长青,被称为21世纪的管理圣经。这篇文章探讨一下书中五项修炼中的第一项修炼:自我超越。我将从程序员的成长角度来进行:程序员如何进行自我超越。首先要建立个人的愿景。 愿景是程序员内心真正最关心的事情。愿景不同于上层目标,上层目标是抽象的,属于方向性的、比较广泛,而愿景是一个特定的结果,一种期望的未来景象。对程序员来说上层目标可能是提升编程能力,其愿景是成为开发leader。当你完成成为一位开发leader这个愿景之后,上层目标可能还是提升编阅读全文
posted @ 2011-11-30 23:57 麒麟 阅读(2602) 评论(12) 编辑
摘要: GROOVE文件默认存放在系统盘(比如C盘),当工作区文件比较大时,系统盘空间就不够用,使用下面方法可以更改GROOVE的文件夹位置。一、windows vista /windows 7使用了一个mklink命令,具体操作方法和步骤如下:1、通过任务管理器将Groove相关程序关闭(Groove.exe和GrooveMonitor.exe)2、将C:\Users\<username>\Appdata\Local\Microsoft\Office\目录下的Groove文件夹剪切到其他剩余空间较大的盘(比如,D盘)3、通过“开始\运行”中输入 cmd 回车,打开windows DOS 阅读全文
posted @ 2011-11-30 16:28 麒麟 阅读(1510) 评论(0) 编辑
摘要: 移动原生态应用和web应用 如今移动应用开发这块可以说三分天下: 苹果的iOS,google 的Android ,微软的Windows Phone,不像桌面操作系统,windows一家独大。对于众多的开发人员来说,大多任选其中一种平台进行学习。对于一家软件企业开发来讲,开发的产品就必须支持多种移动开发平台。移动应用程序开发可以分为两种形式:移动原生态应用和web应用,就藐视.net的windows form和asp.net。移动原生态用户体验好,运行在客户端,但需要支持多个手机系统平台,导致开发和维护成本高;而web应用为浏览器应用程序,程序运行在服务器上,这样开发和维护的成本就不那么高了。那阅读全文
posted @ 2011-11-22 12:28 麒麟 阅读(2893) 评论(8) 编辑
摘要: 最近阅读《思维导图 大脑的使用说明书》,下面是书中说的绘制思维导图的七个步骤。1. 从一张白纸的中心开始绘制,周围留出空白。为什么? 因为从中心开始,可以使你的思维向各个方向自由发散,能更自由、更自然地表达你自己。2. 用一副图像或图画表达你的中心思想。为什么? 因为一幅画抵得上1000个词汇,它能帮助你运用想象力。图画越有趣,越能使你精神贯注,也越能使大脑兴奋!3.在绘制过程中使用颜色。为什么? 因为颜色和图像一样能让你的大脑兴奋。颜色能够给你的思维导图增添跳跃感和生命力,为你的创造性思维增添巨大的能量,而且,它很有趣!4.将中心图像和主要分支连接起来,然后把主要分支和二级分支连接起来,再把阅读全文
posted @ 2011-10-26 15:10 麒麟 阅读(1406) 评论(1) 编辑
摘要: 这几天把《影响力》看完了,这本书是豆瓣上评价分数和评价数量都相当高的一本著作,这篇博客相当于一个读后感吧。《影响力》的介绍 我们生活在社会上,总是被行行色色的人影响着。比如政治家运用影响力来赢得选举,当然在中国你还不具备让政治家乖乖来影响你的权利;商人运用影响力来兜售商品,很多商人利用多种影响力的原理来推销自己的商品;推销员运用影响力诱惑你乖乖地把金钱捧上。即使你的朋友和家人,不知不觉之间,也会把影响力用到你的身上。他们利用影响力的武器逼你乖乖就范,你甚至不知道为什么。 在这本书中,作者为我们解释了为什么这些人极具说服力,而我们总是容易上当受骗,并且揭示出隐藏在冲动地顺从他人行为背后的六大心理阅读全文
posted @ 2011-10-12 10:31 麒麟 阅读(1233) 评论(1) 编辑
摘要: 概述 与httpwath相比,fiddler能模拟http请求、能断点调试、http分析统计吸引了我,使用之后感觉这个工具非常不错,这篇文章只单介绍一下fiddler工作原理,简单介绍一下它的重要功能,以及如何使用使用fiddler模拟http请求,满足移动服务端开发人员调试的问题。对于其他的功能大家可以自己研究一下。fiddler工作原理: 当你启动了Fiddler,程序将会把自己作为一个微软互联网服务的系统代理。作为系统代理,所有的来自微软互联网服务(WinInet)的http请求再到达目标Web服务器的之前都会经过Fiddle,同样的,所有的Http响应都会在返回客户端之前流经Fiddl阅读全文
posted @ 2011-10-11 10:36 麒麟 阅读(15099) 评论(5) 编辑
摘要: 经常需要从开发库中提交生成数据的sql到测试库中。之前采用的方式: 1、自己写sql,将sql保存起来,等测试的时候提交这些sql。 2、在ERP系统中添加数据使用SQL SERVER Profiler跟踪SQL,保存起来,等测试的时候提交这些sql。 两种方式存在的问题: 1、如果修改一些数据,必须将更新语句也保存起来。2、保存的sql如果没有很好的管理机制,容易丢失。 所以,在网上找了一下,写了一个根据数据库表名称和过滤条件生成insert的语句的存储过程,当提交测试的时候根据这个存储过程产生insert语句就行了。主要代码来自:Generating INSERT statements .阅读全文
posted @ 2011-09-22 11:41 麒麟 阅读(1246) 评论(1) 编辑
摘要: 在看过《如何阅读一本书》之后,心情久久不能平静,接下来的日子里一直在思考一个问题:如何去阅读一本电子书。此文不敢与《如何阅读一本书》的内容媲美,但是《如何阅读一本书》最新修正版是写在70年代,那个时候还没有电子书的概念,如果有电子书,我相信作者一定会加上“如何阅读一本电子书”这个章节。我把本文看做狗尾续貂吧,也是自己长期阅读电子书的一个心得体会。首先,为什么要阅读电子书。 如果你问这个问题,那我可以告诉你,阅读电子书比阅读纸质书的好处多太多,你的手指加脚趾都数不完。不过本文就IT人士比较注重方面以及自己的体会看看它的好处。1、从成本上看,阅读电子书基本上是免费的,而阅读一本纸质书便宜的也要二.阅读全文
posted @ 2011-09-14 18:22 麒麟 阅读(3557) 评论(28) 编辑
摘要: 最经遇到一个很棘手的问题,写出来大家探讨一下。 工作流系统中存在很多自定义的表单,由于是老系统,这些表单只能支持IE。现在做移动应用,需要将这些自定义的aspx表单展示在mobile safari浏览器中。 这些自定义表单用了大量的htc、只支持ie的javascript。而现在的任务是需要将这些表单展示在mobile safari浏览器中。 想了很多办法感觉都不好。昨天突然想到一个办法就是根据Url将表单转换成图片,然后展示到移动客户端。大致流程是:在服务端创建一个WebBrowser实例,在这个WebBrowser加载这个表单Url。由于WebBrowser内置的是IE内核,所以htc,.阅读全文
posted @ 2011-08-17 20:03 麒麟 阅读(1831) 评论(10) 编辑
摘要: iOS中的MapKit集成了google地图api的很多功能加上iOS的定位的功能,我们就可以实现将你运行的轨迹绘制到地图上面。这个功能非常有用,比如汽车的gprs追踪、人员追踪、快递追踪等等。这篇文章我们将使用Map Kit和iOS的定位功能,将你的运行轨迹绘制在地图上面。实现在之前的一篇文章:iOS开发之在google地图上显示自己的位置中描述了如何在地图上显示自己的位置,如果我们将这些位置先保存起来,然后串联起来绘制到地图上面,那就是我们的运行轨迹了。 首先我们看下如何在地图上绘制曲线。在Map Kit中提供了一个叫MKPolyline的类,我们可以利用它来绘制曲线,先看个简单的例子。.阅读全文
posted @ 2011-08-09 09:25 麒麟 阅读(6739) 评论(4) 编辑
摘要: 概述: 在iOS中,可以使用剪贴板实现应用程序之中以及应用程序之间实现数据的共享。比如你可以从iPhone QQ复制一个url,然后粘贴到safari浏览器中查看这个链接的内容。一、在iOS中下面三个控件,自身就有复制-粘贴的功能:1、UITextView2、UITextField3、UIWebView二、UIKit framework提供了几个类和协议方便我们在自己的应用程序中实现剪贴板的功能。1、UIPasteboard:我们可以向其中写入数据,也可以读取数据2、UIMenuController:显示一个快捷菜单,用来复制、剪贴、粘贴选择的项。3、UIResponder中的 canPerf阅读全文
posted @ 2011-08-04 20:44 麒麟 阅读(7191) 评论(3) 编辑
摘要: UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。stringByEvaluatingJavaScriptFromString 使用stringByEvaluatingJavaScriptFromString方法,需要等UIWebView中的页面加载完成之后去调用。我们在界面上拖放一个UIWebView控件。在Load中将google mobile加载到这个控件中,代码如下:- (void)viewDid.阅读全文
posted @ 2011-08-03 19:45 麒麟 阅读(24415) 评论(10) 编辑
摘要: 1、判断字符串是否相等使用isEqualToString: NSString *astring01 = @"This is a String!"; NSString *astring02 = @"This is a String!"; BOOL result = [astring01 isEqualToString:astring02]; NSLog(@"result:%d",result);2、判断字符不相等:NSString *astring01 = @"This is a String!"; NSString阅读全文
posted @ 2011-08-03 18:39 麒麟 阅读(3017) 评论(0) 编辑
摘要: 在手机应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在iOS设备中加一个缓存的机制,前面一篇文章介绍了iOS设备的内存缓存,这篇文章将设计一个本地缓存的机制。功能需求这个缓存机制满足下面这些功能。1、可以将数据缓存到本地磁盘。2、可以判断一个资源是否已经被缓存。如果已经被缓存,在请求相同的资源,先到本地磁盘搜索。3、可以判断文件缓存什么时候过期。这里为了简单起见这里,我们在请求url资源的时候,给每次请求的文件设定一个过期的时间。4、可以实现:如果文件已经被缓存,而且没有过期,这将本地的数据返回,否则重新请求url。5、可以实现:如果文件下载不成功或者下载没有完成,.阅读全文
posted @ 2011-08-02 13:33 麒麟 阅读(6307) 评论(14) 编辑
摘要: 前面一片文章介绍了如何上传和下载文件,这篇文章将介绍一下如何在iOS设备中进行缓存。这篇文章将只介绍一下将内容缓存到内存中,下一篇文章就介绍一下在iOS磁盘上缓存内容。使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。内存缓存我们可以使用sdk中的NSURLCache类。NSURLRequest需要一个缓存参数来说明它请求的url何如缓存数据的,我们先看下它的CachePolicy类型。1、NSURLRequestUseProtocolCachePolicy NSURLRequest默认的阅读全文
posted @ 2011-07-30 19:01 麒麟 阅读(16691) 评论(2) 编辑
摘要: iOS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下使用asp.net webservice实现文件上传下载。首先,让我们看下文件下载。这里我们下载cnblogs上的一个zip文件。使用NSURLRequest+NSURLConnection可以很方便的实现这个功能。同步下载文件: NSString *urlAsString = @"http://files.cnblogs.com/zhuqil/UIWebViewDemo.zip"; NSURL *url = [NSURL URLWithString:urlAsString]; NSURLRequest *requ阅读全文
posted @ 2011-07-30 16:02 麒麟 阅读(11286) 评论(3) 编辑
摘要: UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等。这篇文章我将使用这个控件,做一个简易的浏览器。如下图:我们创建一个Window-based Application程序命名为:UIWebViewDemoUIWebView的loadRequest可以用来加载一个url地址,它需要一个NSURLRequest参数。我们定义一个方法用来加载url。在UIWebViewDemoViewController中定义下面方法:- (void)loadWebPageWithString:(NSString*)urlString{ NSURL *ur阅读全文
posted @ 2011-07-28 20:58 麒麟 阅读(86710) 评论(9) 编辑
摘要: iOS sdk中的view是UIView,我们可以很方便的自定义一个View。创建一个 Window-based Application程序,在其中添加一个Hypnosister的类,这个类选择继承UIObject。修改这个类,使他继承:UIView@interface HypnosisView : UIView自定义View的关键是定义drawRect: 方法,因为主要是通过重载这个方法,来改变view的外观。例如,可以使用下面代码绘制一个很多环中环的效果的view。View Code - (void)drawRect:(CGRect)rect { // What rectangle am 阅读全文
posted @ 2011-07-27 21:50 麒麟 阅读(5550) 评论(0) 编辑
摘要: 前面一篇文章,很好将xml转换成树,并进行操作,但是忽略了对xml节点上属性的操作,现在让我来修改代码,将属性添加进来。1、在treenode中加一个类型为NSDictionary的attributeDict用于存放属性。代码如下:NSDictionary * attributeDict;2、在中可以在parser:didStartElement:方法中取到属性列表,在其中添加添加下面代码。leaf.attributeDict = [[NSDictionary alloc] initWithDictionary:attributeDict];3、修改样例xml。<?xml version阅读全文
posted @ 2011-07-27 09:51 麒麟 阅读(680) 评论(1) 编辑
摘要: 开发中由于服务端与客户端是两种不同的平台,而且服务端又是老系统,不具备很好的面向对象的性质,所以导致客户端与服务端只好通过一些制定好的xml进行通信。 在iOS中对XML的解析不像donet这么方便。当然也存在一些很方便的开源类库去调用,但是有些开源的类库显得很笨重。这篇文章我将封装一个简单操作XML转换成树的类方便自己操作:首先通过NSXMLParser从服务端获取XML,它可以一边下载,一边解析,然后转换成树形结构,最后我们可以从树形结构中去取值。使用NSXMLParser解析XML:NSXMLParser中主要有三个委托方法来解析XML:1、parser:didStartElement.阅读全文
posted @ 2011-07-26 20:22 麒麟 阅读(2348) 评论(2) 编辑
摘要: iOS sdk中提供了很多方便的方法来播放多媒体。本文将利用这些SDK做一个demo,来讲述一下如何使用它们来播放音频文件。AudioToolbox framework 使用AudioToolbox framework。这个框架可以将比较短的声音注册到 system sound服务上。被注册到system sound服务上的声音称之为 system sounds。它必须满足下面几个条件。1、播放的时间不能超过30秒2、数据必须是 PCM或者IMA4流格式3、必须被打包成下面三个格式之一:Core Audio Format (.caf), Waveform audio (.wav),或者 Au.阅读全文
posted @ 2011-07-23 19:53 麒麟 阅读(19478) 评论(3) 编辑
摘要: 这篇文章是我个人对腾讯Q+平台技术的一点点思考,写这篇文章的主要目的是让广大程序员一起去探究一下Q+平台的实现原理和过程,而我只是起一个抛砖引玉的作用。 好了,进入正题。今天下班的时候打开rss,看到cnbeta上的一篇文章,说腾讯的Q+平台对普通用户开放了,压抑不住自己的好奇心,马上就下载安装了。安装完成之后,发现qq主界面和之前安装的qq2011 betal2的qq主界面一样,只是在右边的桌面多处了一个弹出式菜单。没有安装Q+的童鞋,可以看下图: 我的头像下面分别有:添加应用、游戏、影音、生活、我的应用、系统工具、消息中心、模式切换几个菜单按钮。 打开添加应用。就是一个应用市场的主界面,.阅读全文
posted @ 2011-07-21 20:02 麒麟 阅读(3953) 评论(13) 编辑