当前位置:  编程技术>移动开发
本页文章导读:
    ▪数据储存之plist文件操作        数据存储之plist文件操作plist,全名PropertyList,即属性列表文件,它是一种用来存储串行化后的对象的文件。这种文件,在ios开发过程中经常被用到。这种属性列表文件的扩展名为.plist,因此通.........
    ▪ Qt异常:empty character constant        Qt错误:empty character constant先看错误代码 void Widget::timerUpdate() { QTime time = QTime::currentTime(); //获取当前时间 QString text = time.toString("hh:mm"); //转换成字符串 if((time.second() % 2) == 0) .........
    ▪ Java-截取路径字符串       Java--截取路径字符串1.截取路径最后一个字符串   /** * 截取链接最后一个字符串 * @author ZLQ * */ public class StringTest { public static void main(String[] args) { String url = "http://zhidao.baidu.com/question/14745.........

[1]数据储存之plist文件操作
    来源: 互联网  发布时间: 2014-02-18
数据存储之plist文件操作

plist,全名PropertyList,即属性列表文件,它是一种用来存储串行化后的对象的文件。这种文件,在ios开发过程中经常被用到。这种属性列表文件的扩展名为.plist,因此通常被叫做plist文件。文件是xml格式的。Plist文件是以key-value的形式来存储数据。既可以用来存储用户设置,也可以用来存储一些需要经常用到而不经常改动的信息。

    在对plist文件的操作有创建,删除,写入和读取。这四种操作中,写入和读取是比较常用的操作。

    下面我对这四种操作进行一一的陈述。

    首先,是怎么去创建plist文件。Plist文件的创建既可以通过在程序中通过新建文件的方式来创建,也可以通过在程序中用代码的形式来创建文件。

    第一种就是通过新建文件,在弹出的窗口中选择ios项目下的Resource中的Property List来进行plist文件的创建。然后点击TestPlistDemo.plist文件,出现一个Root行,点击Root这一行,然后通过点击右键->Add Row或者点击Root后面的加号来增加一行。这一行中包含三个属性,key、type、value。其中key是字段属性,type是字段类型,value是字段对应的值。而Type又包含7中类型,其中两种是Array和Dictionary,这两种是数组的形式,在它们下面还可以包含许多key-value。

而另外5种是Boolean,data,string,date,number。这5种类型的数据都是被array和dictionary所要包含的数据。

    通过代码来创建plist文件,代码如下:

//建立文件管理

    NSFileManager *fm = [NSFileManager defaultManager];

    //找到Documents文件所在的路径

    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    //取得第一个Documents文件夹的路径

    NSString *filePath = [path objectAtIndex:0];

    //把TestPlist文件加入

    NSString *plistPath = [filePath stringByAppendingPathComponent:@"test.plist"];

    //开始创建文件

[fm createFileAtPath:plistPath contents:nil attributes:nil];

//删除文件

[fm removeItemAtPath:plistPath error:nil];

在写入数据之前,需要把要写入的数据先写入一个字典中,创建一个dictionary:

    //创建一个字典

    NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"zhangsan",@"1",@"lisi",@"2", nil];

    //把数据写入plist文件

[dic writeToFile:plistPath atomically:YES];

读取plist中的数据,形式如下:

    //读取plist文件,首先需要把plist文件读取到字典中

    NSDictionary *dic2 = [NSDictionary dictionaryWithContentsOfFile:plistPath];

    //打印数据

    NSLog(@"key1 is %@",[dic2 valueForKey:@"1"]);

NSLog(@"dic is %@",dic2);

关于plist中的array读写,代码如下:

//把TestPlist文件加入

    NSString *plistPaths = [filePath stringByAppendingPathComponent:@"tests.plist"];

    //开始创建文件

    [fm createFileAtPath:plistPaths contents:nil attributes:nil];

    //创建一个数组

    NSArray *arr = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",@"4", nil];

    //写入

    [arr writeToFile:plistPaths atomically:YES];

    //读取

    NSArray *arr1 = [NSArray arrayWithContentsOfFile:plistPaths];

    //打印

    NSLog(@"arr1is %@",arr1);

demo下载地址:

http://pan.baidu.com/share/link?shareid=220755&uk=1277579135


    
[2] Qt异常:empty character constant
    来源: 互联网  发布时间: 2014-02-18
Qt错误:empty character constant

先看错误代码

void Widget::timerUpdate()
{
    QTime time = QTime::currentTime();
    //获取当前时间
    QString text = time.toString("hh:mm");
    //转换成字符串
    if((time.second() % 2) == 0)
        text[2]='';
    ui->lcdNumber->display(text);
}

编译,报错,错误:empty character constant

分析错误:“空字符常数”

查找结果:第8行中单引号中少了个空格,

原因:empty character constant这个英文的意思就是提示空字符。

修改如下:

void Widget::timerUpdate()
{
    QTime time = QTime::currentTime();
    //获取当前时间
    QString text = time.toString("hh:mm");
    //转换成字符串
    if((time.second() % 2) == 0)
        text[2]=' ';
    ui->lcdNumber->display(text);
}




    
[3] Java-截取路径字符串
    来源: 互联网  发布时间: 2014-02-18
Java--截取路径字符串

1.截取路径最后一个字符串

 

/**
 * 截取链接最后一个字符串
 * @author ZLQ
 *
 */
public class StringTest {
 public static void main(String[] args) {
  String url = "http://zhidao.baidu.com/question/147458024.html";
  //取得最后一个/的下标
  int index = url.lastIndexOf("/");
  //将字符串转为字符数组
  char[] ch = url.toCharArray();
  //根据 copyValueOf(char[] data, int offset, int count) 取得最后一个字符串
  String lastString = String.copyValueOf(ch, index + 1, ch.length - index - 1);
  System.out.println(lastString);
 }
}


 

 

2.截取链接最后一个字符串

 

/**
 * 截取链接最后一个字符串
 * @author ZLQ
 *
 */
public class StringTest3 {
 public static void main(String[] args) {
  String url = "http://zhidao.baidu.com/question/147458024.html";
  //取得最后一个/的下标
  int index = url.lastIndexOf("/");
  //substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。
  String newString = url.substring(index + 1);
  System.out.println(newString);
 }
}


 

 

3. 截取/之间的字符串

 

/**
 * 截取/之间的字符串
 * @author ZLQ
 *
 */
public class StringTest2 {
 public static void main(String[] args) {
  String url = "http://zhidao.baidu.com/question/147458024.html";
  //将字符串以/切分并存到数组中
  String[] split = url.split("/");
  for(String str : split){
   System.out.println(str);
  }
 }
}




    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
数据库 iis7站长之家
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3