自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iPhone應(yīng)用:Sqlite和UITableView實現(xiàn)大數(shù)據(jù)瀏覽案例

移動開發(fā) iOS
iPhone應(yīng)用程序和傳統(tǒng)的桌面程序的最大不同在于內(nèi)存有限, 管理內(nèi)存成了iPhone開發(fā)中時時刻刻需要謹記的事情。類似的功能在桌面程序上無非是將down下來的數(shù)據(jù)緩存于內(nèi)存中,需要的時候畫出來即可。

iPhone應(yīng)用中關(guān)于SqliteUITableView實現(xiàn)大數(shù)據(jù)瀏覽案例分析是本文要介紹的內(nèi)容,主要是來學習iphone應(yīng)用數(shù)據(jù)處理的操作,具體內(nèi)容來看本文詳細講解。在開始學習iPhone開發(fā)的時候就捉摸 AppStore這樣的程序時怎么實現(xiàn)的, 動態(tài)的從服務(wù)器抓取內(nèi)容,再在表格中顯示。

伴隨著twitter的火爆, 越來越多的軟件實現(xiàn)了此種方式來顯示twitter消息, 不巧公司也要做twitter相關(guān)的東西,正好借此機會試探著實現(xiàn)一下這種顯示功能。

iPhone應(yīng)用程序和傳統(tǒng)的桌面程序的***不同在于內(nèi)存有限, 管理內(nèi)存成了iPhone開發(fā)中時時刻刻需要謹記的事情。類似的功能在桌面程序上無非是將down下來的數(shù)據(jù)緩存于內(nèi)存中,需要的時候畫出來即可。 此法在iPhone上切不可行,雖然UITableViewCell可與reuse重復使用以節(jié)約內(nèi)存使用量, 但是數(shù)據(jù)還是需要host在array或者dictionary中,必然導致程序?qū)嵱么罅績?nèi)存兒崩潰退出。

還好,iPhone系統(tǒng)內(nèi)置sqlite微型數(shù)據(jù)庫, 這么好的查詢插入引擎不善用那就是罪過了。

言歸正傳, 基本思路是這樣的: 從服務(wù)器讀取內(nèi)容,以twitter為例,先創(chuàng)建消息數(shù)據(jù)表

  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后將每條消息插入數(shù)據(jù)表, 寫入成功后發(fā)送reload消息給table以重新填充表格單元內(nèi)容, 如圖

iPhone應(yīng)用:Sqlite和UITableView實現(xiàn)大數(shù)據(jù)瀏覽案例

如果消息記錄超過一條, 記得在

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

中返回消息記錄 + 1, 因為***一個cell需要實現(xiàn) Get More …功能。

就像上一步說的, 點擊***一個cell也就是Get More…時,在此從服務(wù)器獲取 新的timelines, 將其解析再寫入數(shù)據(jù)表中, 每次刷新時將數(shù)據(jù)表清空,否則顯示的消息會越來越多:), Get More 工作狀態(tài)大概時這樣的,如圖:

iPhone應(yīng)用:Sqlite和UITableView實現(xiàn)大數(shù)據(jù)瀏覽案例

如此, 程序?qū)嵱玫膬?nèi)存非常小, 每一條消息內(nèi)容都是在需要的時候從數(shù)據(jù)庫文件中讀取, 減小了內(nèi)存使用量就增加了程序的穩(wěn)定性, 這對于成功的軟件來說是非常必要的。

這篇小文只是對這樣一個實現(xiàn)技術(shù)做了簡單的介紹, 其中還有很多細節(jié)需要考慮, 比如:對sqlite的封裝,以便于使用; 采用NSURLConnection方式下載數(shù)據(jù)以及post數(shù)據(jù)的實現(xiàn); 還有xml解析可以使用iPhone SDK本身的NSXML* 系列API 也可以使用libxml, 具體當然根據(jù)個人習慣來選擇。 針對Twitter, 已經(jīng)有很多很好的開源庫可以直接使用,比如 TwitterEngine

小結(jié):iPhone應(yīng)用:SqliteUITableView實現(xiàn)大數(shù)據(jù)瀏覽案例分析的內(nèi)容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: starming社區(qū)
相關(guān)推薦

2011-08-02 17:14:41

iPhone應(yīng)用 UITableVie

2012-10-09 10:51:51

大數(shù)據(jù)數(shù)據(jù)中心大數(shù)據(jù)應(yīng)用

2021-05-21 17:51:10

物聯(lián)網(wǎng)大數(shù)據(jù)應(yīng)用IOT

2011-07-27 11:14:37

iPhone UITableVie

2011-07-27 11:19:33

iPhone UITableVie

2011-08-15 15:44:46

iPhone開發(fā)PDF

2011-08-18 16:24:44

iPhone開發(fā)圖片

2011-08-15 13:44:07

iPhone開發(fā)UITableView

2011-07-27 10:16:41

iPhone SQLite 數(shù)據(jù)庫

2011-08-19 11:10:31

iPhone應(yīng)用

2011-08-19 10:13:05

iPhone開發(fā)

2011-08-16 15:48:37

iPhone開發(fā)抓圖程序

2011-08-08 10:42:46

iPhone UITableVie 分頁

2011-08-18 15:24:40

iPhone國際化

2011-08-16 15:36:47

iPhone應(yīng)用測試

2011-08-17 16:12:20

iPhone應(yīng)用程序

2011-08-09 13:22:31

iPhoneSqlite數(shù)據(jù)庫

2011-08-19 10:05:30

iPhone開發(fā)

2011-08-18 16:42:07

iPhone應(yīng)用APNS推送

2011-08-02 16:16:08

iPhone開發(fā) SQLite 數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號