当前位置: 编程技术>移动开发
本页文章导读:
▪封存数据的一系列方法 保存数据的一系列方法
/*=======================================================
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
最新技术文章: