一、离线缓存
在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等。
说明:离线缓存一般都是把数据保存到项目的沙盒中。有以下几种方式
(1)归档:NSCodeing、NSKeyedArchiver
(2)偏好设置:NSUserDefaults
(3)Plist存储:writeToFile
举例:使用归档
两个问题:
(1)数据的存取都必须是完整的,要求写入的时候要一次性写入,读取的时候要一次性全部读取,这涉及到应用的性能问题。
(2)如果有1000条数据,此时要把第1001条数据存入,那么需要把所有的数据取出来,把这条数据加上去之后,再存入。
说明:以上的三种技术不能处理大批量数据的存储,大批量数据通常使用数据库来进行存储。
二、sqlite简单介绍
1.ios中数据的存储方式
@H_301_60@(1)Plist(NSArray\NSDictionary) @H_301_60@(2)Preference(偏好设置\NSUserDefaults) @H_301_60@(3)NSCoding(NSKeyedArchiver\NSkeyedUnarchiver) @H_301_60@(4)sqlite3(5)Core Data
@H_301_60@说明:
3是版本号,是sqlite的第三个版本。
2.sqlite
@H_301_60@(1)什么是sqlite?
答:sqlite是一款轻型的嵌入式数据库,安卓和ios开发使用的都是sqlite数据库
@H_301_60@(2)特点(优点) @H_301_60@ 答:1)它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了2)它的处理速度比MysqL、Postgresql这两款著名的数据库都还快
@H_301_60@(3)什么是数据库答:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
@H_301_60@(4)数据库的分类答:可以分为2大种类
关系型数据库(主流)和对象型数据库(直接把内存中的对象塞入到数据库,对比关系型数据库而言性能不能很好,效率不高)
@H_301_60@(5)常用关系型数据库有哪些?答:PC端:Oracle、MysqL、sql Server、Access、DB2、Sybase
嵌入式\移动客户端:sqlite
@H_301_60@(6)数据库是如何存储数据的?答:数据库的存储结构和excel很像,以表(table)为单位。表由多个字段(列、属性、column)组成,表里面的每一行数据称为记录
@H_301_60@(7)数据库存储数据的步骤?
1)新建一张表(table)
3)添加多行记录(row,record,每行存放多个字段对应的值)
三、Navicat
@H_301_60@Navicat是一款著名的数据库管理软件,支持大部分主流数据库(包括sqlite)1.Navicat的安装
(1)下载该软件后,先打开该软件
(2)把文件拖入到应用程序拷贝
(3)破解版,千万不要打开app,先打开sn.app
@H_301_60@(4)点击patch,找到应用程序的路径,点击open.
(6)点击activate,选择文件,open
@H_301_60@2.Navicat的使用创建一个新的数据库
起个名称之后,保存
@H_301_60@ @H_301_60@完成之后,双击连接数据库注意:yangyong是连接名称,不是数据库,利用yangyong这个连接,连接了main数据库。几项依次是表、视图、索引、触发器、查询。
@H_301_60@新建一张表,设置字段名保存,设置表名(建议以t开头以下划线隔开,以示区分,说明这是张表)
本文转载自:http://www.cnblogs.com/wendingding/p/3868893.html