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