iOS應(yīng)用開發(fā)中SQLite的初步配置指南
iOS開發(fā)數(shù)據(jù)庫篇—SQLite簡(jiǎn)單介紹
一、離線緩存
在項(xiàng)目開發(fā)中,通常都需要對(duì)數(shù)據(jù)進(jìn)行離線緩存的處理,如新聞數(shù)據(jù)的離線緩存等。
說明:離線緩存一般都是把數(shù)據(jù)保存到項(xiàng)目的沙盒中。有以下幾種方式
(1)歸檔:NSCodeing、NSKeyedArchiver
(2)偏好設(shè)置:NSUserDefaults
(3)Plist存儲(chǔ):writeToFile
提示:上述三種方法都有一個(gè)致命的缺點(diǎn),那就是都無法存儲(chǔ)大批量的數(shù)據(jù),有性能的問題。
舉例:使用歸檔
兩個(gè)問題:
(1)數(shù)據(jù)的存取都必須是完整的,要求寫入的時(shí)候要一次性寫入,讀取的時(shí)候要一次性全部讀取,這涉及到應(yīng)用的性能問題。
(2)如果有1000條數(shù)據(jù),此時(shí)要把第1001條數(shù)據(jù)存入,那么需要把所有的數(shù)據(jù)取出來,把這條數(shù)據(jù)加上去之后,再存入。
說明:以上的三種技術(shù)不能處理大批量數(shù)據(jù)的存儲(chǔ),大批量數(shù)據(jù)通常使用數(shù)據(jù)庫來進(jìn)行存儲(chǔ)。
二、SQLite簡(jiǎn)單介紹
1.ios中數(shù)據(jù)的存儲(chǔ)方式
(1)Plist(NSArray\NSDictionary)
(2)Preference(偏好設(shè)置\NSUserDefaults)
(3)NSCoding(NSKeyedArchiver\NSkeyedUnarchiver)
(4)SQLite3
?。?)Core Data
說明:
3是版本號(hào),是SQLite的第三個(gè)版本。
core Data是對(duì)SQLite的封裝,因?yàn)閕OS中使用的SQLite是純C語言的。
2.SQLite
(1)什么是SQLite?
答:SQLite是一款輕型的嵌入式數(shù)據(jù)庫,安卓和ios開發(fā)使用的都是SQLite數(shù)據(jù)庫
(2)特點(diǎn)(優(yōu)點(diǎn))
答:1)它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了
2)它的處理速度比Mysql、PostgreSQL這兩款著名的數(shù)據(jù)庫都還快
(3)什么是數(shù)據(jù)庫
答:數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫
(4)數(shù)據(jù)庫的分類
答:可以分為2大種類
關(guān)系型數(shù)據(jù)庫(主流)和對(duì)象型數(shù)據(jù)庫(直接把內(nèi)存中的對(duì)象塞入到數(shù)據(jù)庫,對(duì)比關(guān)系型數(shù)據(jù)庫而言性能不能很好,效率不高)
(5)常用關(guān)系型數(shù)據(jù)庫有哪些?
答:PC端:Oracle、MySQL、SQL Server、Access、DB2、Sybase
嵌入式\移動(dòng)客戶端:SQLite
(6)數(shù)據(jù)庫是如何存儲(chǔ)數(shù)據(jù)的?
答:數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)和excel很像,以表(table)為單位 。表由多個(gè)字段(列、屬性、column)組成,表里面的每一行數(shù)據(jù)稱為記錄
(7)數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)的步驟?
1)新建一張表(table)
2)添加多個(gè)字段(column,列,屬性)
3)添加多行記錄(row,record,每行存放多個(gè)字段對(duì)應(yīng)的值)
三、Navicat
Navicat是一款著名的數(shù)據(jù)庫管理軟件,支持大部分主流數(shù)據(jù)庫(包括SQLite)
1.Navicat的安裝
(1)下載該軟件后,先打開該軟件
(2)把文件拖入到應(yīng)用程序拷貝
(3)破解版,千萬不要打開app,先打開sn.app
(4)點(diǎn)擊patch,找到應(yīng)用程序的路徑,點(diǎn)擊open.
(5)點(diǎn)擊Generate,生成注冊(cè)碼
(6)點(diǎn)擊activate,選擇文件,open
(7)退出sn,打開安裝文件,完成安裝
2.Navicat的使用
新建一個(gè)SQLite3數(shù)據(jù)庫
創(chuàng)建一個(gè)新的數(shù)據(jù)庫
設(shè)置數(shù)據(jù)庫保存的位置(新建一個(gè)文件夾):
起個(gè)名稱之后,保存
設(shè)置數(shù)據(jù)庫連接的名稱
完成之后,雙擊連接數(shù)據(jù)庫
注意:yangyong是連接名稱,不是數(shù)據(jù)庫,利用yangyong這個(gè)連接,連接了main數(shù)據(jù)庫。幾項(xiàng)依次是表、視圖、索引、觸發(fā)器、查詢。
新建一張表,設(shè)置字段名
保存,設(shè)置表名(建議以t開頭以下劃線隔開,以示區(qū)分,說明這是張表)
相關(guān)文章
iOS實(shí)現(xiàn)動(dòng)態(tài)自適應(yīng)標(biāo)簽
這篇文章主要為大家詳細(xì)介紹了iOS動(dòng)態(tài)自適應(yīng)標(biāo)簽的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03iOS開發(fā)實(shí)戰(zhàn)之Label全方位對(duì)齊的輕松實(shí)現(xiàn)
這篇文章主要給大家介紹了關(guān)于iOS開發(fā)實(shí)戰(zhàn)之輕松實(shí)現(xiàn)Label全方位對(duì)齊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10iOS手勢(shì)識(shí)別的詳細(xì)使用方法(拖動(dòng),縮放,旋轉(zhuǎn),點(diǎn)擊,手勢(shì)依賴,自定義手勢(shì))
這篇文章主要介紹了iOS手勢(shì)識(shí)別的詳細(xì)使用方法(拖動(dòng),縮放,旋轉(zhuǎn),點(diǎn)擊,手勢(shì)依賴,自定義手勢(shì)),具有一定的參考價(jià)值,有需要的可以參考一下。2016-11-11IOS使用UICollectionView實(shí)現(xiàn)無限輪播效果
這篇文章主要為大家詳細(xì)介紹了IOS使用UICollectionView實(shí)現(xiàn)無限輪播效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03iOS開發(fā)中常見的解析XML的類庫以及簡(jiǎn)要安裝方法
這篇文章主要介紹了iOS開發(fā)中常見的解析XML的類庫以及簡(jiǎn)要安裝方法,簡(jiǎn)要地說明了在Xcode下的一些特點(diǎn)以供對(duì)比,需要的朋友可以參考下2015-10-10詳解ios監(jiān)聽reloadData刷新列表完畢的時(shí)機(jī)
這篇文章主要介紹了詳解ios監(jiān)聽reloadData刷新列表完畢的時(shí)機(jī),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11iOS 指壓即達(dá)集成iOS9里的3D Touch的方法
這篇文章主要介紹了iOS 指壓即達(dá)集成iOS9里的3D Touch的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03詳解iOS 計(jì)步器的幾種實(shí)現(xiàn)方式
本篇文章主要介紹了詳解iOS 計(jì)步器的幾種實(shí)現(xiàn)方式,詳細(xì)的介紹了兩種可以獲取計(jì)步數(shù)據(jù)的方法,有興趣的可以了解一下2017-08-08