iPhone应用:Sqlite和UITableView实现大数据浏览案例

移动开发 iOS
iPhone应用程序和传统的桌面程序的最大不同在于内存有限, 管理内存成了iPhone开发中时时刻刻需要谨记的事情。类似的功能在桌面程序上无非是将down下来的数据缓存于内存中,需要的时候画出来即可。

iPhone应用中关于SqliteUITableView实现大数据浏览案例分析是本文要介绍的内容,主要是来学习iphone应用数据处理的操作,具体内容来看本文详细讲解。在开始学习iPhone开发的时候就捉摸 AppStore这样的程序时怎么实现的, 动态的从服务器抓取内容,再在表格中显示。

伴随着twitter的火爆, 越来越多的软件实现了此种方式来显示twitter消息, 不巧公司也要做twitter相关的东西,正好借此机会试探着实现一下这种显示功能。

iPhone应用程序和传统的桌面程序的***不同在于内存有限, 管理内存成了iPhone开发中时时刻刻需要谨记的事情。类似的功能在桌面程序上无非是将down下来的数据缓存于内存中,需要的时候画出来即可。 此法在iPhone上切不可行,虽然UITableViewCell可与reuse重复使用以节约内存使用量, 但是数据还是需要host在array或者dictionary中,必然导致程序实用大量内存儿崩溃退出。

还好,iPhone系统内置sqlite微型数据库, 这么好的查询插入引擎不善用那就是罪过了。

言归正传, 基本思路是这样的: 从服务器读取内容,以twitter为例,先创建消息数据表

  1. create table public_timelines (id integer primary key autoincrement, user varchar(40),  
  2. userurl text,body text, created real, created_string text,  
  3. imageurl text, ordernum int, userid varchar(20), user_screenname varchar(40)); 

获取public timelines得到以xml形式存在的message条目,解析xml后将每条消息插入数据表, 写入成功后发送reload消息给table以重新填充表格单元内容, 如图

iPhone应用:Sqlite和UITableView实现大数据浏览案例

如果消息记录超过一条, 记得在

  1. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

中返回消息记录 + 1, 因为***一个cell需要实现 Get More …功能。

就像上一步说的, 点击***一个cell也就是Get More…时,在此从服务器获取 新的timelines, 将其解析再写入数据表中, 每次刷新时将数据表清空,否则显示的消息会越来越多:), Get More 工作状态大概时这样的,如图:

iPhone应用:Sqlite和UITableView实现大数据浏览案例

如此, 程序实用的内存非常小, 每一条消息内容都是在需要的时候从数据库文件中读取, 减小了内存使用量就增加了程序的稳定性, 这对于成功的软件来说是非常必要的。

这篇小文只是对这样一个实现技术做了简单的介绍, 其中还有很多细节需要考虑, 比如:对sqlite的封装,以便于使用; 采用NSURLConnection方式下载数据以及post数据的实现; 还有xml解析可以使用iPhone SDK本身的NSXML* 系列API 也可以使用libxml, 具体当然根据个人习惯来选择。 针对Twitter, 已经有很多很好的开源库可以直接使用,比如 TwitterEngine

小结:iPhone应用:SqliteUITableView实现大数据浏览案例分析的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: starming社区
相关推荐

2011-08-02 17:14:41

iPhone应用 UITableVie

2012-10-09 10:51:51

大数据数据中心大数据应用

2021-05-21 17:51:10

物联网大数据应用IOT

2011-07-27 11:14:37

iPhone UITableVie

2011-07-27 11:19:33

iPhone UITableVie

2011-08-15 15:44:46

iPhone开发PDF

2011-08-18 16:24:44

iPhone开发图片

2011-08-15 13:44:07

iPhone开发UITableView

2011-07-27 10:16:41

iPhone SQLite 数据库

2011-08-19 10:13:05

iPhone开发

2011-08-19 11:10:31

iPhone应用

2011-08-16 15:48:37

iPhone开发抓图程序

2011-08-08 10:42:46

iPhone UITableVie 分页

2011-08-18 15:24:40

iPhone国际化

2011-08-16 15:36:47

iPhone应用测试

2011-08-17 16:12:20

iPhone应用程序

2011-08-09 13:22:31

iPhoneSqlite数据库

2011-08-19 10:05:30

iPhone开发

2011-08-18 16:42:07

iPhone应用APNS推送

2011-08-02 16:16:08

iPhone开发 SQLite 数据库
点赞
收藏

51CTO技术栈公众号