当前位置: 编程技术>移动开发
本页文章导读:
▪封存数据的一系列方法 保存数据的一系列方法
/*=======================================================
NSKeyedArchiver
========================================================*/
NSString *str = @"abc";
NSString *astr = @"efg";
NSArray *Array = [NSArray arrayWith.........
▪ 日期处置 日期处理
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
//[dateFormatter setDateFormat:@"hh:mm:ss".........
▪ wap文本框缓存清除解决方法 wap文本框缓存清除解决办法
由于手机浏览器缓存的问题,我们会发现在WAP中修改记录点进去时候仍然是上一条记录信息,也就是缓存信息,比方说修改新闻,修改个人资料等。本人在网上.........
[1]封存数据的一系列方法
来源: 互联网 发布时间: 2014-02-18
保存数据的一系列方法
/*======================================================= NSKeyedArchiver ========================================================*/ NSString *str = @"abc"; NSString *astr = @"efg"; NSArray *Array = [NSArray arrayWithObjects:str, astr, nil]; //Save NSString *Path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *filename = [Path stringByAppendingPathComponent:@"test"]; [NSKeyedArchiver archiveRootObject:Array toFile:filename]; str = @"a"; astr = @""; //load NSArray *arr = [NSKeyedUnarchiver unarchiveObjectWithFile: filename]; str = [arr objectAtIndex:0]; astr = [arr objectAtIndex:1]; NSLog(@"str:%@",str); NSLog(@"astr:%@",astr); /*======================================================= NSUserDefaults ========================================================*/ NSString *str = @"abc"; NSString *astr = @"efg"; NSArray *Array = [NSArray arrayWithObjects:str, astr, nil]; //Save NSUserDefaults *SaveDefaults = [NSUserDefaults standardUserDefaults]; [SaveDefaults setObject:Array forKey:@"SaveKey"]; str = @"a"; astr = @""; //load Array = [SaveDefaults objectForKey:@"SaveKey"]; str = [Array objectAtIndex:0]; astr = [Array objectAtIndex:1]; NSLog(@"str:%@",str); NSLog(@"astr:%@",astr); /*======================================================= writeToFile: ========================================================*/ NSString *str = @"abc"; NSString *astr = @"efg"; NSArray *Array = [NSArray arrayWithObjects:str, astr, nil]; //Save NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; if (!documentsDirectory) { NSLog(@"Documents directory not found!"); } NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"Savedatas.plist"]; [[NSArray arrayWithObjects:Array,nil] writeToFile:appFile atomically:NO]; //load if([[NSFileManager defaultManager] fileExistsAtPath:appFile]) self.SaveDataArray = [NSMutableArray arrayWithContentsOfFile:appFile]; else self.SaveDataArray = [NSMutableArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Savedatas" ofType:@"plist"]]; NSArray *strArray = [self.SaveDataArray objectAtIndex:0]; str = [strArray objectAtIndex:0]; astr = [strArray objectAtIndex:1]; //坛子里的,搬过来。。。。。 -(BOOL) writeApplicationData:(NSDictionary *)data writeFileName:(NSString *)fileName { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; if (!documentsDirectory) { NSLog(@"Documents directory not found!"); return NO; } NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName]; return ([data writeToFile:appFile atomically:YES]); } -(id) readApplicationData:(NSString *)fileName { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName]; NSDictionary *myData = [[[NSDictionary alloc] initWithContentsOfFile:appFile] autorelease]; return myData; }
[2] 日期处置
来源: 互联网 发布时间: 2014-02-18
日期处理
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle:NSDateFormatterMediumStyle]; [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; //[dateFormatter setDateFormat:@"hh:mm:ss"] [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"]; NSLog(@"Date%@", [dateFormatter stringFromDate:[NSDate date]]); [dateFormatter release];//initializtion parameter
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDate *now; NSDateComponents *comps = [[NSDateComponents alloc] init]; NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; now=[NSDate date]; comps = [calendar components:unitFlags fromDate:now]; week = [comps weekday]; month = [comps month]; day = [comps day]; hour = [comps hour]; min = [comps minute]; sec = [comps second]; //Week: 1 --星期天 2--星期一 3--星期二 4--星期三 5--星期四 6--星期五 7--星期六
[3] wap文本框缓存清除解决方法
来源: 互联网 发布时间: 2014-02-18
wap文本框缓存清除解决办法
由于手机浏览器缓存的问题,我们会发现在WAP中修改记录点进去时候仍然是上一条记录信息,也就是缓存信息,比方说修改新闻,修改个人资料等。本人在网上找了很多资料,如有网友提出 加一个禁止缓存代码,如下
<meta http-equiv="Cache-Control" content="no-cache"/><!-- 禁止浏览器从缓存中访问页面内容 -->
<meta http-equiv="Expires" content="0"/>
<meta http-equiv="Pragma" content="no-cache"/>
但是在实际测试过程中,仍然没用。
经过一番思考,想到了一个解决方法,就是将每次修改记录的表单里面的文本框等名字变不同,即可。那样也无所谓缓存了,通过这个思路,下面以JSP为例子给大家提供一个简单说明:
我们在页面上生成一个随机数:String ID= (int)(Math.random()*100+100)+"";
设置ID=request.QueryString("ID")
文本框的名称name设置为:name="title<%=ID%>"
提交处:<postfield name="title" value="$title<%=ID%>"/>
这样每次修改进去,由于表单名称都不同,因此就会读取最新记录,而不是缓存信息!
代码如下:
由于手机浏览器缓存的问题,我们会发现在WAP中修改记录点进去时候仍然是上一条记录信息,也就是缓存信息,比方说修改新闻,修改个人资料等。本人在网上找了很多资料,如有网友提出 加一个禁止缓存代码,如下
<meta http-equiv="Cache-Control" content="no-cache"/><!-- 禁止浏览器从缓存中访问页面内容 -->
<meta http-equiv="Expires" content="0"/>
<meta http-equiv="Pragma" content="no-cache"/>
但是在实际测试过程中,仍然没用。
经过一番思考,想到了一个解决方法,就是将每次修改记录的表单里面的文本框等名字变不同,即可。那样也无所谓缓存了,通过这个思路,下面以JSP为例子给大家提供一个简单说明:
我们在页面上生成一个随机数:String ID= (int)(Math.random()*100+100)+"";
设置ID=request.QueryString("ID")
文本框的名称name设置为:name="title<%=ID%>"
提交处:<postfield name="title" value="$title<%=ID%>"/>
这样每次修改进去,由于表单名称都不同,因此就会读取最新记录,而不是缓存信息!
代码如下:
<%@ page language="java" contentType="text/vnd.wap.wml; charset=GB2312" import="java.util.HashMap" import="com.kingtop.pfb.*" %> %><?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <head> <meta http-equiv="Cache-Control" content="max-age=0" forua="true"/> <meta http-equiv="Cache-Control" content="no-cache"/> </head> <card id="Home" title="加入电子优惠券"> <% String aa = (int)(Math.random()*100+100)+""; String s___ = String.valueOf(System.currentTimeMillis()); String m = request.getParameter("m"); String code = request.getParameter("code"); EwmWapClient ewc = new EwmWapClient(); Object[] data = null; if ( !"".equals(m)) { data = ewc.yhq_add_kc(m,code); int ret = Integer.parseInt((String)data[0]); String msg = (String)data[1]; if ( ret == 0 ) { out.println("<a href=/index.html"youhuiquan.jsp?m="+m+"&s___="+s___+"\">增加成功,进入列表</a>"); }else{ out.println(msg); } } out.println("m="+m); out.println("code="+code); out.print("aa="+aa); %> <p align="left"> <fieldset title="加入电子优惠券"> 手机号:<input type="text" name="m<%=aa %>" size="12" format="*n" maxlength="11"/><br/> 数字码:<input type="text" name="code<%=aa %>" size="13" format="*n" maxlength="12"/> </fieldset> <anchor title="手机号"> <go method="post" href="/blog_article/<%=request/s___/lt;%/s___%/gt;.getRequestURI()%>"> <postfield name="m" value="$(m<%=aa %>)"/> <postfield name="code" value="$(code<%=aa %>)"/> </go>提交 </anchor> <br/><br/><a href="/blog_article/index/s___/lt;%/s___%/gt;.html">返回</a> </p> </card> </wml>
1 楼
zwh910621
2010-05-06
呵呵,很好,希望LZ多写点WAP的知识,辛苦了,谢谢LZ
最新技术文章: