9.2 SQLite 數(shù)據(jù)庫
當(dāng)應(yīng)用程序需要處理的數(shù)據(jù)量比較大時,為了更加合理地存儲、管理、查詢數(shù)據(jù),我們往往使用關(guān)系數(shù)據(jù)庫來存儲數(shù)據(jù)。Android平臺為開發(fā)者提供了SQLite數(shù)據(jù)庫相關(guān)的API來實現(xiàn)對數(shù)據(jù)庫操作的支持,開發(fā)人員可以很方便地使用這些API來對SQLite數(shù)據(jù)庫進(jìn)行創(chuàng)建、修改及查詢等操作。Android系統(tǒng)的很多用戶數(shù)據(jù),如聯(lián)系人信息、通話記錄、短信息等,都是存儲在SQLite數(shù)據(jù)庫當(dāng)中的,所以利用操作SQLite數(shù)據(jù)庫的API可以同樣方便地訪問甚至修改這些數(shù)據(jù)。本節(jié)將從認(rèn)識SQLite數(shù)據(jù)庫開始來逐步介紹如何在Android程序中使用SQLite數(shù)據(jù)庫。
9.2.1 SQLite 數(shù)據(jù)庫介紹
SQLite是D. Richard Hipp用C語言編寫的開源嵌入式數(shù)據(jù)庫引擎。它是完全獨(dú)立的,不具有外部依賴性。SQLite非常健壯,其創(chuàng)建者保守地估計SQLite可以處理每天多達(dá)100 000次點(diǎn)擊率的Web站點(diǎn),有時候甚至可以處理上述數(shù)字的10倍負(fù)載。最重要地,SQLite是一個輕量級的數(shù)據(jù)庫, 1在一些簡單語句的處理性能上比Mysql或Postgresql都要快。對于內(nèi)存有限的Android手持設(shè)備而言,當(dāng)然是對時間空間要求越低的數(shù)據(jù)庫引擎越好。
從功能上看,SQLite支持多數(shù)SQL92標(biāo)準(zhǔn),可以在所有主流的操作系統(tǒng)上運(yùn)行,并且支持大多數(shù)計算機(jī)語言。其數(shù)據(jù)庫單文件的特性也使得在Android中操縱數(shù)據(jù)庫更加靈活,另外SQLite特有的內(nèi)存數(shù)據(jù)庫還會在某些特殊的情況下發(fā)揮奇妙的作用。更多有關(guān)SQLite數(shù)據(jù)庫的內(nèi)容,請訪問SQLite官方網(wǎng)站:http://www.sqlite.org/。