2016-03-04 15:01:22 1477瀏覽
現(xiàn)代手機(jī)要實(shí)現(xiàn)很多功能,比如跟蹤聯(lián)系人、事件和任務(wù),移動(dòng)操作系統(tǒng)及其應(yīng)用必須善于保存和追蹤大量的數(shù)據(jù)。這些數(shù)據(jù)通常是結(jié)構(gòu)化的,以行和列表示,類(lèi)似于電子表格或非常簡(jiǎn)單的數(shù)據(jù)庫(kù)。
Android培訓(xùn)之Android開(kāi)發(fā)入門(mén)關(guān)系數(shù)據(jù)庫(kù)SQL
除了存儲(chǔ)數(shù)據(jù)的傳統(tǒng)需求,Android應(yīng)用在生命周期中需要快速、一致的數(shù)據(jù)持久化,從而能夠適應(yīng)移動(dòng)環(huán)境的不斷變化,因?yàn)樵O(shè)備可能會(huì)突然掉電或者Android操作系統(tǒng)會(huì)任意決定從內(nèi)存中刪除你的應(yīng)用。
Android數(shù)據(jù)持久化使用的是輕量但強(qiáng)大的SQLite關(guān)系數(shù)據(jù)庫(kù)引擎。
數(shù)據(jù)庫(kù)很適合存儲(chǔ)包含多個(gè)實(shí)例的數(shù)據(jù)——這在Android開(kāi)發(fā)中很常見(jiàn)。例如,聯(lián)系列表包含很多聯(lián)系方式,所有記錄都可能包含相同類(lèi)型的信息(即地址、電話號(hào)碼等)。數(shù)據(jù)庫(kù)表中的每一“行”存儲(chǔ)不同人的信息,而每個(gè)“列”存儲(chǔ)每個(gè)人的特定屬性:第一列存儲(chǔ)名字,第二列存儲(chǔ)地址,第三列存儲(chǔ)家庭電話號(hào)碼等。當(dāng)某個(gè)人和多個(gè)項(xiàng)關(guān)聯(lián)時(shí)(如多個(gè)地址),關(guān)系數(shù)據(jù)庫(kù)也可以處理這種情況。
SQLite不是Google推出的項(xiàng)目,雖然Google也做了貢獻(xiàn)。SQLite有一個(gè)國(guó)際化的軟件開(kāi)發(fā)團(tuán)隊(duì),他們致力于提高軟件的功能和可靠性??煽啃允荢QLite的關(guān)鍵特性。在SQLite項(xiàng)目中,超過(guò)一半的代碼是用于測(cè)試的。sQLite庫(kù)的設(shè)計(jì)是專(zhuān)門(mén)為了處理各種系統(tǒng)失敗的,如內(nèi)存不足、磁盤(pán)錯(cuò)誤或電源故障等。數(shù)據(jù)庫(kù)永遠(yuǎn)都不應(yīng)該停留在不可恢復(fù)的狀態(tài),對(duì)于手機(jī),由于關(guān)鍵數(shù)據(jù)都存儲(chǔ)在數(shù)據(jù)庫(kù)中,如果數(shù)據(jù)庫(kù)不可恢復(fù),那將是致命的。幸運(yùn)的是,sQLite數(shù)據(jù)庫(kù)不易于崩潰——因?yàn)椴缓蠒r(shí)宜的電池故障可能會(huì)讓易于崩潰的系統(tǒng)付出昂貴的代價(jià)。
查看更多關(guān)于“Android培訓(xùn)資訊”的相關(guān)文章>>