自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (4)
  • 收藏
  • 关注

原创 iOS UIWebView 修改user-agent

WebView 没有提供设置user-agent 的接口,

2014-05-15 00:05:33 17816 3

原创 FZEasyFile——简单易用的iOS沙盒文件操作组件

FZEasyFileAn easy way to create or overwrite file in sandboxWhat is it?It’s tedious, boring and unreadable to use iOS’s sdk to manage file directly. FZEasyFile provides an easy way to cr

2014-05-05 17:15:56 938

原创 protobuf-objc 2.2.0 在mac 10.9上编译不通过

升级mac 10.8到10.9后protobuf-objc编译不成功,报错信息如下:google/protobuf/message.cc:130:60: error: implicit instantiation of undefined template 'std::__1::basic_istream >' return ParseFromZeroCopyStream(&zero_co

2013-12-16 23:49:36 3398 1

原创 逐帧动画做loading视图

我封装了一个可复用的loading视图组件,用于按照一定周期逐帧播放加载动画。代码如下:.h文件#import //加载状态typedef enum { FZImageSequenceLoadingStatusStop = 1, // 停止 FZImageSequenceLoadingStatusLoading, // 加载中

2013-09-17 11:02:41 2553

原创 ASI框架设置Content-Type无效的问题

我服务器的某些接口只接收Content-Type 为“application/x-protobuf”的访问,我是用ASIFormDataRequest向服务器发送数据,通过addRequestHeader:value:方法设置Content-Type,结果总是不成功,在服务器端发现收到的Content-Type为“application/octet-stream”,后来经过多番尝试,通过使用set

2013-09-09 20:22:38 2682

原创 appstore 上线遇到的问题总结

权限问题公司的iOS开发账号是企业账号,然后通过这个账号给一个新创建的开发者账号赋予管理权限。其中Developer center 和 itunes connect 的权限是分开的,每边都需要开通。另外Developer Center中的权限等级也不一致,目前开发和发布对应的Certificates、Provisioning Profiles都已经创建好了,但是今后还是需要一些修改和添加的权限

2013-09-02 16:49:02 1277

原创 自定义NavigationBar的返回按钮和标题

在controller的- (void)viewDidLoad方法中通过如下方式自定义导航栏左侧的按钮 UIImage* backImage = [UIImage imageNamed:@"back1.png"]; UIImage* backImage2 = [UIImage imageNamed:@"back2.png"]; UIButton* backButton=

2013-08-26 19:47:45 2383

原创 View Tag 要注意

前几天遇到一个奇怪的bug,视图A中有一个 PageControl 控件,每当通过 NavigationController 将B视图 push 进去后,再回到A视图时发现 PageControl 控件就消失了。经过调试发现其已经被释放了。后来在一篇博客(【博客A】)中找到了灵感。原因是我导航栏上的BarButton是自定义的,并设置了tag为1,当视图切换时通过viewWithTag找到它并

2013-08-19 11:13:07 770

原创 自动包装对象

可能大家都有遇到这样的情况,项目中有与数据库对应实体,但是传送给客户端的对象只需要实体中的某些字段,如果是采用json格式的话可以使用jackson的@JsonIgnore忽略掉不需要的字段。但是如果采用其他方式可能就没有这么好的现成功能,需要自己定义对应的vo或者dto,然后将实体的字段逐个取值赋给vo或者dto。这其中确实有让人感觉啰嗦的地方,实体与vo或者dto中的字段名基本是一一对应的,有

2013-07-29 11:54:59 941

原创 js实现一个简单的Chrome刷票插件

国庆想回家~无奈票价高,这几天都在“去哪儿”网关注低价机票。但是靠人工去看实在麻烦,因此我写了一个chrome插件,可以按照一定频率刷票,当出现期望的机票时可以弹出桌面提醒并播放提示音乐。

2013-07-11 16:21:54 11954 6

原创 extern 的用法示例

extern可以用来作为全局变量的声明,如果 ClassA 中定义了一个全局变量a,要在 ClassB 中使用这个全局变量就需要在 ClassB 中声明一个变量a,并用extern修饰。示例代码如下。ClassA.h#import @interface ClassA : NSObject {}- (void)setA:(int)x;- (void)show;@end

2013-07-01 18:32:00 1281

原创 viewDidLoad 和 viewWillAppear: 方法

每个 controller 里面一般都会实现 viewDidLoad 和 viewWillAppear: 两个方法。对于iOS开发人员来说,这两个方法都很熟悉。至少都知道前者是在初始化时被调用一次,后者是在每次这个视图要被显示之前被调用一次。因此 controller 中主要的初始化代码都放在前者中,而后者主要用于视图在显示前的更新。但现实情况并不是这么理想,因为我们在 viewDidLoad 方

2013-07-01 11:52:40 6724

转载 MYSQL服务无法启动1067解决办法

原文地址:http://www.sanxia5.com/296.html进入windows下的管理工具的服务中,无法启动mysql服务,错误代码1067.解决方案如下:1.进入命令提示符,输入 sc delete mysql提示若是delete service success,证明删除服务成功;说明:以上命令中的mysql是服务名,可能为其他的,比如MySQL55,具体看服务工

2013-06-19 14:41:12 781

原创 隐藏TabBar后,UIWebView加载过程中和加载失败时,底部出现黑边的问题解决

描述我的应用里同时使用了 TabBar 和 Navigation Bar,由于原本的 TabBar 不能满足我的外观效果要求,我用自定义的 view 实现了一个 TabBar 的外观,隐藏了原本的 TabBar,切换视图的功能还是调用原来 TabBar 的接口。不知道是不是因为自定义TabBar的原因,当通过导航控制器进入第二个视图,并在第二个视图中隐藏TabBar时会出现一些问题,我的第

2013-06-13 16:17:58 3975

原创 iOS UIWebView下拉刷新实现

网上关于给UITableView实现下拉刷新效果的帖子较多,但是给UIWebView实现的比较少。还好在code4app网站上找到一篇给UIScrollView和UITableView实现下拉刷新的demo【下载地址】。它其中用到的开源控件是EGORefreshTableHeaderView。虽然名字是EGORefreshTableHeaderView,但是它其实可以用于所有UIScrollVie

2013-06-03 11:33:47 11324

原创 iOS中缓存图片

如果一个应用中需要从云端加载较多图片,甚至会频繁刷新页面,那么这个应用就有必要将图片缓存起来,不用每次刷新都重新下载图片。我这里写了一个简单的图片缓存工具,还比较实用。头文件 ImageCache.h#import @interface ImageCache : NSObject { //缓存的服务器端图片 NSMutableDictionary *cached

2013-05-20 17:59:27 1626

原创 iOS开发记录

一、   查看Sqlite内容如果项目中用到sqlite,经常在开发过程中会去查看数据的变化。找到Sqlite文件存储位置。~/Library/ApplicationSupport/Simulator/6.1/Applications其中6.1为自己设置的模拟器版本,如果模拟器为5.0的话就去5.0目录。但是该位置下可能有很多文件夹,而且是以十六进制字符命名的,这种情况下有个简

2013-05-02 11:55:48 1256

原创 jackson使用记录

与springMVC项目集成1.     将jar包引入工程。2.     在*-servlet.xml配置文件中将jackson转换器加入转换器列表。                                          "mappingJacksonHttpMessageConverter"                            class=

2013-05-02 11:47:06 912

原创 从KeychainItemWrapper到SSkeychain

iOS的SDK中提供的Security.framework框架可以用于保存一些机密数据,比如用户的账号和密码等信息,不过大部分开发者都不会去直接使用它,因为它比较麻烦,需要去了解的东西比较多。不过官方也提供了样例代码(【下载地址】),其中KeychainItemWrapper类是对下层代码的封装,我们可以直接使用它来安全地保存和获取信息。因为是官方提供,所以使用它的人也比较多,网上关于如何使用它的

2013-03-25 11:25:53 6676 1

原创 springMVC项目中实现Protocol Buffers对象自动转换

本文旨在向读者分享springMVC项目中Protocol Buffers的一个使用技巧,前提是需要具备对springMVC和Protocol Buffers的基本了解。Protocol Buffers(以下简称PB)是谷歌推出的一种数据交换格式,高效、易扩展、跨语言(C++, Java, Python)。将它用于网络传输是一个不错的选择。我们服务器与客户端的通讯就是使用它来做序列化与反序

2013-03-18 15:28:14 11639 3

原创 spring 项目中集成 Protocol Buffers 示例

本文适用于了解spring框架,同时想在spring项目中使用Protocol Buffers(以下简称PB)的读者。本文标题为《spring 项目中集成 Protocol Buffers 示例》,意思当然是教读者如何将PB配置到spring项目中去,但事实上在spring项目中使用PB无需任何配置,命该题目的用意也是让正在苦苦寻找配置方式的朋友在此止步,因为当初我也是这样。什么是PB?以

2013-03-18 15:25:22 9781

原创 FreeMarker自定义TemplateDirectiveModel

在采用FreeMarker做前台视图模板的情况下,我们可以通过标签和自定义宏来解决很多重复性工作。一个简单的FreeMarker宏: hello ${name}然后通过如下的形式调用:不过这种在模板页中定义的宏能力有限。【1】假设,我们很多页面都要输出一个热门排行框,而排行数据需要从controller层动态获取,我们可以用这种宏来完成所有的展示工作,但前提是相

2013-03-18 15:23:25 15691 11

原创 FreeMarker页面静态化 -之批量静态化

在上篇博客中说到我采用第二种方案实现静态化,也就是通过扩展FreeMarker的FreeMarkerView类(参考【我的博客】)。上次说到这种方式更加优雅,节省不少的工作量,而且降低了后期的维护成本。这篇博客将指出这种方案的一个缺点,以及解决方案。该静态化方案中,FreeMarker渲染页面的工作发生在Controller层return之后,如下形式:    @RequestMapp

2013-03-18 15:19:45 1526

原创 FreeMarker页面静态化

目前的项目中需要对某些页面进行静态化,减轻服务器压力。前端是用FreeMarker编写的模板。在网上查阅的使用FreeMarker静态化页面的方案大致分为两种:1.在controller层编写生成静态页的方法,实例化模板,准备好model数据,然后通过template.process(data, out)方法将页面内容写到文件。参考【博客A】2.扩展FreeMarker的FreeMar

2013-03-18 15:13:05 3232 1

原创 编译nginx并加入 chunkin-nginx-module模块

编译nginx并加入chunkin-nginx-module模块 目录目的提示步骤1. 保存旧configure参数 2. 拷贝和解压源码 3. configure准备工作 4. 运行configure 5. 运行make 6. 运行 make install 7. 配置 8. 启动新的nginx 9. 资源下载 10. 参考

2012-10-28 22:14:38 4492

原创 myeclipse + tomcat 用域名访问本地 web 项目

在开发 web 项目时,通过 http://localhost:8080/WebTest/ 这样的 url 来访问本地部署的项目时感觉总是不是很舒服。第一,url 较长。第二,与将来的线上环境有差异。可能在本地能访问,部署到线上时就发现 url 不对了。如果用 www.example.com 这样的网址来访问本地项目时就更加优雅了。设置方法:1.打开项目根目录下的 .mymet

2012-10-26 21:00:18 2441

原创 有反向代理( Nginx )时 Hessian 的 411 错误解决方案

Hessian 是个轻量级的跨平台的远程过程调用框架(RPC)。我在目前的项目中使用其 java 服务器端和 iOS 客户端(HessianKit)。在项目开发过程中 HessianKit 能顺利的从服务器获取数据,但是在公司外网测试环境中就会得到 411 的错误代码。经查找该问题发生在 Nginx,因为在开发环境中客户端直接连接 Tomcat,而在测试环境中则有 Nginx 作负载均衡。

2012-10-22 15:01:15 2799

原创 HessianKit 超时处理

Hessian 是个轻量级的跨平台的远程过程调用框架(RPC)。我在目前的项目中使用其 java 服务器端和 iOS 客户端(HessianKit)。客户端调用远程的接口时是以阻塞方式进行的,我把请求远程数据的代码放在后台执行,当其获取结束时通知主线程更新视图。从一开始我就在纠结 HessianKit 如何设置超时时间,比如我希望它 20 秒后如果没能获取成功就取消连接并返回给我一个错误代码。在网

2012-10-22 14:05:24 2534 8

原创 iOS开发,启动页,全屏,延时

如果想程序刚启动时显示启动页(logo页),并且启动页全屏显示,程序加载完成后又显示状态栏,需要做如下三步:启动页其实只是一张图片而已,如果你的程序需要兼容 iPhone3 和 iPhone4,那么要制作对应分辨率的图片,iPhone3 为 480 * 320,iPhone4 为 960 * 640。分别命名为 Default.png 和 Default@2x.png,然后都放在工程下(可

2012-10-10 12:54:57 6038 1

原创 iOS 开发,工程中混合使用 ARC 和非ARC

【前提知识】ARC:Automatic Reference Counting,自动引用计数ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS

2012-10-08 20:13:21 11498 3

原创 【解决】循环导入导致:Unknown type name "***"

最近遇到一个莫名其妙的问题,我在 ClassA.h 中声明一个 ClassB 类型的成员变量,在 ClassA.h 中明明 import 了 ClassB.h,而在编译过程中总是提示 ClassB 为未知类型。几经周转后找到了原因,我在 ClassA.h 中 import 了 ClassB.h , 同时也在 ClassB.h 中 import 了 ClassA.h , 如此造成了循环导入。【解

2012-10-08 19:26:16 19848 1

原创 iOS 开发,用 NSInvocationOperation 和 OperationQueue 做多线程操作

OperationQueue 相当于一个管理线程的队列,NSInvocationOperation 可以将方法封装为一个线程。将一个 NSInvocationOperation 对象加入到 OperationQueue 对象中就会自动被后台执行。我的 app 需要用户登陆,访问服务器是一个耗时的操作,因此我想将它放在后台执行。我封装了一个 NetManager 类,有个实例变量为 Operat

2012-09-24 13:24:11 1117

原创 【解决】iOS开发,更新界面时崩溃,Tried to obtain the web lock from a thread other than the main thread or ……

在开发一些涉及网络访问的 app 时,我们通常的逻辑是将耗时网络操作放在新起的线程中去做,让在主线程中执行的方法尽快返回,否则前台视图就会处于假死状态。等后台线程的网络访问结束时再去更新前台视图。不过这样的逻辑在iOS开发中遇到了问题。我的 app 需要用户登陆,当用户点击登陆按钮后我新起一个线程去服务器验证,验证成功后跳转到新的视图。如下:【点击登陆按钮】→【新起线程访问服务器】→【成功

2012-09-24 11:52:34 3295

原创 【解决】Xcode 4.3.3 异常提示 Storyboards are unavailable on iOS 4.3 and prior

在 Xcode 4.3.3 中创建了一个名为 Test 的新项目,不使用storyboards。错误提示:Storyboards are unavailable on iOS 4.3 and prior。编译运行时提示:Thread 1:signal SIGABRT于是我非常纳闷,我不是都没使用 Storyboards 吗?而且工程中也没有 .storyboard 文件,为什么还要提示

2012-09-17 15:19:32 1063

原创 【解决】hessian 客户端报警告:Hessian/Burlap: xxx is an unknown class in sun.misc.Launcher……

hessian 的java客户端报异常:警告:Hessian/Burlap:xxx is an unknown class in sun.misc.Launcher ……java.lang.ClassNotFoundException:……虽然只是警告,能正常使用,但总是让人感觉不爽。原因:hessian 服务端和客户端使用的相同对象不仅要定义完全相同,包也要相同。

2012-09-13 17:44:55 24379

原创 【解决】spring中集成hessian报异常,ClassNotFoundException:com.caucho.hessian.io.HessianDebugOutputStream

环境:spring 2.5.2hessian 3.0.20在启动服务器时,报出异常。java.lang.classNotFoundException:com.caucho.hessian.io.HessianDebugOutputStream字面意思为没有找到HessianDebugOutputStream类,打开hessian的jar包后果然没有找到这个类。原因:

2012-09-13 16:33:22 8448

extern 的用法示例

该demo展示了不同类之间通过extern共享全局变量

2013-07-02

手机JAVA编程(英文版)

Wireless games are always on and always with you, and can reach a more massive audience than any other gaming platform in history. No programming language is as suited for micro games as Java 2 Micro Edition (J2ME). Micro Java Game Development is your step-by-step guide to creating games for devices that support J2ME/MIDP. The material covers a full range of topics, from a tour of all available micro devices (PDAs, cell phones, and pagers) to a discussion of software standards that support J2ME (WAP, SMS, i-mode, and wireless enhancements such as Bluetooth) to an overview of J2ME extensions (Siemens Game API, NTT DoCoMo IAppli). Chapter by chapter, this book will guide you through the development of Micro Racer, a professional-level game.

2010-07-16

J2ME手机游戏编程入门

理想情况下,在阅读本书前,你应该对Java程序语言已经有了相当程度的掌握。但或许你已经很久没有用Java,或者你只是想通学习Java知识来进行手机游戏编程。如果你属于上述情况,那么本教程正是为你准备的。本教程不是要教你Java的所有细节,因为已经有大量的优秀书籍在做这些工作。相反,本教程只是想为你提供开发手机游戏程序所需的核心Java知识。

2010-07-16

高质量C++编程指南

高质量C++/C 编程指南 作者: 林锐 博士 软件质量是被大多数程序员挂在嘴上而不是放在心上的东西! 除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌:“哇!我 以前捏造的C++/C 程序怎么会有那么多的毛病?” 别难过,作者只不过比你早几年、多几次惊慌而已。 请花一两个小时认真阅读这本百页经书,你将会获益匪浅,这是前面N-1 个读者的 建议。

2009-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除