做爲一個完成的應用程序,數據存儲操做是必不可少的。所以,Android系統一共提供了四種數據存儲方式。分別是:SharePreference、SQLite、Content Provider和File。因爲Android系統中,數據基本都是私有的的,都是存放於「data/data/程序包名」目錄下,因此要實現數據共享,正確方式是使用Content Provider。html
SQLite: SQLite是一個輕量級的數據庫,支持基本SQL語法,是常被採用的一種數據存儲方式。Android爲此數據庫提供了一個名爲SQLiteDatabase的類,封裝了一些操做數據庫的API。web
SharedPreference: 除SQLite數據庫外,另外一種經常使用的數據存儲方式,其本質就是一個xml文件,經常使用於存儲較簡單的參數設置。數據庫
File: 即常說的文件(I/O)存儲方法,經常使用語存儲大數量的數據,可是缺點是更新數據將是一件困難的事情。ide
ContentProvider: Android系統中能實現全部應用程序共享的一種數據存儲方式,因爲數據一般在各應用間的是互相私密的,因此此存儲方式較少使用,可是其又是必不可少的一種存儲方式。例如音頻,視頻,圖片和通信錄,通常均可以採用此種方式進行存儲。每一個Content Provider都會對外提供一個公共的URI(包裝成Uri對象),若是應用程序有數據須要共享時,就須要使用Content Provider爲這些數據定義一個URI,而後其餘的應用程序就經過Content Provider傳入這個URI來對數據進行操做。spa
PS: URI由3個部分組成:"content://"、數據的路徑、標識ID(可選)。orm