可爱熊个人博客

Archive for 十一月, 2015

移动端打开网页自动跳转到wap页面

移动端打开网页自动跳转到wap页面。

apache办法:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_USER_AGENT} (android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|mobile.+firefox|netfront|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ ce|xda|xiino [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-) [NC]
RewriteRule ^$ http://m.woduba.com [R,L]

Read More…

Object C NSLog 格式化输出数据

1 . 几种常用类型变量声明

int i =10;

BOOL isShow=YES;

BOOL isShow=1;

float f = 3.1415926;

char a =120;

NSString *name =@“Himi”;

object-c中BOOL类型长度1byte, 若将short或int型数赋值给BOOL类型则截取低位1个字节.

object-c  中字符串类型的声明和java,C# 有点不一样,string 在面向对象语言中是一个引用类型,在object-c中是使用指针。

Read More…

Objective-C 之同步请求、异步请求、GET请求、POST请求

1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,
2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行
3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节;
4、POST请求,将参数放到body里面。POST请求操作相对复杂,需要将参数和地址分开,不过安全性高,参数放在body里面,不易被捕获。

1、 同步GET请求

 //第一步,创建URL
    NSURL *url = [NSURL URLWithString:@"http://www.shiniv.com/test.php?type=get"];
     
    //第二步,通过URL创建网络请求
    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
    //NSURLRequest初始化方法第一个参数:请求访问路径,第二个参数:缓存协议,第三个参数:网络请求超时时间(秒)
      其中缓存协议是个枚举类型包含:
      NSURLRequestUseProtocolCachePolicy(基础策略)
      NSURLRequestReloadIgnoringLocalCacheData(忽略本地缓存)
      NSURLRequestReturnCacheDataElseLoad(首先使用缓存,如果没有本地缓存,才从原地址下载)
      NSURLRequestReturnCacheDataDontLoad(使用本地缓存,从不下载,如果本地没有缓存,则请求失败,此策略多用于离线操作)
      NSURLRequestReloadIgnoringLocalAndRemoteCacheData(无视任何缓存策略,无论是本地的还是远程的,总是从原地址重新下载)
      NSURLRequestReloadRevalidatingCacheData(如果本地缓存是有效的则不下载,其他任何情况都从原地址重新下载)
    //第三步,连接服务器
    NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
     
    NSString *str = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];
     
    NSLog(@"%@",str);

Read More…

Objective-C和PHP进行json交互

由于ASIHttpRequest的作者已经明确不再维护这个库了,所以我使用了较为轻量的MKNetworkKit库。

服务端,PHP自带了json的序列化和反序列化函数:json_encode和json_decode。而对于客户端,我采用了TouchJSON这个开源库。

BTW,GitHub已经是新一代的、主流的开源文化和产业了,上面提到的开源库,都来自GitHub。 :)

首先,客户端利用MKNetworkKit库向服务端发个请求:

MKNetworkOperation *op = [self operationWithPath:path params:(NSMutableDictionary *)params httpMethod:@"POST"];

服务端收到请求后,构造返回参数,然后回馈给客户端:

$arr = array();
$arr['code'] = 200;
$arr['msg'] = '你好,中文';

$jsonData = json_encode($arr);
echo $jsonData;

Read More…

objective-c中生成随机数的方法

本文简述objective-c中生成随机数的几种常见的方法,分享给大家,希望能给大家带来一点借鉴价值。具体如下:

1)、arc4random()方法:比较精确不需要生成随即种子

使用方法如下 :

通过arc4random() 获取0到x-1之间的整数的代码如下:

1
int value = arc4random() % x;

获取1到x之间的整数的代码如下:

1
int value = (arc4random() % x) + 1;

2)、CCRANDOM_0_1()方法:在cocos2d中使用 ,范围是[0,1] Read More…

本站文章均为 李华明Himi 原创,转载务必在明显处注明:
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2dx/603.html

 

可能很多童鞋有点疑惑-。 -昨天刚写了如何搭建Cocos2d-X开发环境,这一篇就开始总结了。。。。。可怜

不得不说要说总结,因为Cocos2d-X的代码和Cocos2d-iphone两个引擎除了语言不同外(Cocos2d-X使用C++,Cocos2d-iphone使用Object-C)可以说没有其他差异=。 =

下面Himi举例对比几段代码来说明吧:

   创建添加一个精灵代码对比:

              使用Cocos2d-X:

  1. //———Cocos2d-X代码部分–
  2.    //创建一个精灵
  3.    CCSprite *spriteTemp =CCSprite::spriteWithFile(“icon.png”);
  4.    //设置精灵的坐标
  5.    spriteTemp->setPosition(ccp(size.width*0.5,size.height*0.5));
  6.    //将精灵添加到layer中
  7.    this->addChild(spriteTemp,1);

使用Cocos2d-iphone:     Read More…