本地数据库存储获取的大量数据
2015-04-15 16:11
302 查看
1.现在类里建表
/** 数据库实例 */
static FMDatabase *_db;
+ (void)initialize
{
// 1.获得数据库文件的路径
NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES)
lastObject];
NSString *filename = [doc
stringByAppendingPathComponent:@"dataBase.sqlite"];
// 2.得到数据库
_db = [FMDatabase
databaseWithPath:filename];
// 3.打开数据库
if ([_db
open]) {
// 4.创表(blob 是二进制形式)
[_db
executeUpdate:@"CREATE TABLE IF NOT EXISTS t_user (id integer PRIMARY KEY AUTOINCREMENT, list blob);"];
}
}
2.连接服务器端 获取数据 然后把获取到的数据插入到表中
+(void)saveData{
for (NSDictionary *dict
in userArray) {
//把dict字典对象序列化成NSData二进制数据
NSData *data = [NSKeyedArchiver
archivedDataWithRootObject:dict];
//把新数据保存
[_db
executeUpdate:@"INSERT INTO
t_user (list) VALUES (?)",data];
}
}
3.下次登录以后先去数据库中查 没有数据的时候再去访问网络获取 记得获取完之后调用saveData保存到本地
+(NSArray *)获取缓存方法名{
//定义一个数组
...
FMResultSet *resultSet =
nil;
resultSet = [_db
executeQuery:@"SELECT * FROM
t_user;"];
while (resultSet.next) {
//获取保存的list
NSData *houseData = [resultSet
objectForColumnName:@"list"];
NSDictionary *houseDict = [NSKeyedUnarchiver
unarchiveObjectWithData:houseData];
//把获取到的字典转换成你自己的模型 然后添加到数组中 最后返回数组
...
}
//返回数组
...
}
4.如果你每次刷新了以后 想把以前的都删除
[_db
executeUpdate:@"DELETE FROM
t_user;"];
如果分页的情况 就是页码是1的时候刷新就删除以前的内容
如果不分页 每次刷新就都删除了
/** 数据库实例 */
static FMDatabase *_db;
+ (void)initialize
{
// 1.获得数据库文件的路径
NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES)
lastObject];
NSString *filename = [doc
stringByAppendingPathComponent:@"dataBase.sqlite"];
// 2.得到数据库
_db = [FMDatabase
databaseWithPath:filename];
// 3.打开数据库
if ([_db
open]) {
// 4.创表(blob 是二进制形式)
[_db
executeUpdate:@"CREATE TABLE IF NOT EXISTS t_user (id integer PRIMARY KEY AUTOINCREMENT, list blob);"];
}
}
2.连接服务器端 获取数据 然后把获取到的数据插入到表中
+(void)saveData{
for (NSDictionary *dict
in userArray) {
//把dict字典对象序列化成NSData二进制数据
NSData *data = [NSKeyedArchiver
archivedDataWithRootObject:dict];
//把新数据保存
[_db
executeUpdate:@"INSERT INTO
t_user (list) VALUES (?)",data];
}
}
3.下次登录以后先去数据库中查 没有数据的时候再去访问网络获取 记得获取完之后调用saveData保存到本地
+(NSArray *)获取缓存方法名{
//定义一个数组
...
FMResultSet *resultSet =
nil;
resultSet = [_db
executeQuery:@"SELECT * FROM
t_user;"];
while (resultSet.next) {
//获取保存的list
NSData *houseData = [resultSet
objectForColumnName:@"list"];
NSDictionary *houseDict = [NSKeyedUnarchiver
unarchiveObjectWithData:houseData];
//把获取到的字典转换成你自己的模型 然后添加到数组中 最后返回数组
...
}
//返回数组
...
}
4.如果你每次刷新了以后 想把以前的都删除
[_db
executeUpdate:@"DELETE FROM
t_user;"];
如果分页的情况 就是页码是1的时候刷新就删除以前的内容
如果不分页 每次刷新就都删除了
相关文章推荐
- phalapi-进阶篇6(解决大量数据存储数据库分表分库拓展)
- 内容提供者从本地数据库获取音乐数据
- 通过百度地图API获取坐标并将数据存储在数据库内。
- 使用第三方库(FMDB) 本地数据库存储数据 --使用为了保证线程安全做法
- iOS开发怎么获取本地数据和把数据存储到本地
- js 通过post方式打开页面 利用html5本地存储获取数据
- Android本地数据存储之SQLite关系型数据库 ——SQLiteDatabase
- Android -- 获取网络数据并将数据存到本地数据库中
- PHP 数据库中某个字段存储的数据是数组数据时,怎样获取并解析
- Http Get 从服务器中获取数据 存储到本地
- 获取assets目录文件解析数据存储数据库 Listview展示 Dialog删除修改从数据库获取数据
- 数据库SQLite 数据大量存储 和快速读取 链表查询的优化 使用gosn
- sessionstorage本地数据库存储和ajax提交后台的数据接口
- 将数据从redis数据库中存储到本地的mysql数据库中
- android中的数据存储(SharePreferences,本地,和数据库)
- 利用备份技术获取apk本地存储数据
- Android基础: 数据存储(二):数据库存储和获取数据
- 【原创】python爬虫获取网站数据并存入本地数据库
- Http Get 从服务器中获取数据 存储到本地