大家在開發(fā)Android操作系統(tǒng)的時(shí)候,可能會(huì)經(jīng)常碰到關(guān)于數(shù)據(jù)存儲(chǔ)方面的一些操作。在這里我們會(huì)為大家詳細(xì)介紹一下有關(guān)Android數(shù)據(jù)存儲(chǔ)的一些基本概念以及應(yīng)用技巧。在Android 系統(tǒng)中,所有應(yīng)用程序數(shù)據(jù)都是私有的,任何其他應(yīng)用程序都是無法訪問的。
作為一個(gè)完整的應(yīng)用程序,數(shù)據(jù)存儲(chǔ)操作是必不可少的。因此,Android系統(tǒng)一共提供了四種數(shù)據(jù)存儲(chǔ)方式。分別是:
1.SharePreference
2.SQLite
3.File
4.Content Provider
由于Android系統(tǒng)中,數(shù)據(jù)基本都是私有的,都是存放于“data/data/程序包名”目錄下,所以要實(shí)現(xiàn)數(shù)據(jù)共享,正確方式是使用Content Provider。
SharedPreference:
除SQLite數(shù)據(jù)庫外,另一種常用的數(shù)據(jù)存儲(chǔ)方式,其本質(zhì)就是一個(gè)xml文件,常用于存儲(chǔ)較簡單的參數(shù)設(shè)置。
SQLite:
SQLite是一個(gè)輕量級的數(shù)據(jù)庫,支持基本SQL語法,是常被采用的一種數(shù)據(jù)存儲(chǔ)方式。Android為此數(shù)據(jù)庫提供了一個(gè)名為SQLiteDatabase的類,封裝了一些操作數(shù)據(jù)庫的API。
File:
即常說的文件(I/O)存儲(chǔ)方法,常用語存儲(chǔ)大數(shù)量的數(shù)據(jù),但是缺點(diǎn)是更新數(shù)據(jù)將是一件困難的事情。
ContentProvider:
Android系統(tǒng)中能實(shí)現(xiàn)所有應(yīng)用程序共享的一種數(shù)據(jù)存儲(chǔ)方式,由于數(shù)據(jù)通常在各應(yīng)用間的是互相私密的,所以此存儲(chǔ)方式較少使用,但是其又是必不可少的一種存儲(chǔ)方式。例如音頻,視頻,圖片和通訊錄,一般都可以采用此種方式進(jìn)行存儲(chǔ)。每個(gè)ContentProvider都會(huì)對外提供一個(gè)公共的URI(包裝成Uri對象),如果應(yīng)用程序有數(shù)據(jù)需要共享時(shí),就需要使用ContentProvider為這些數(shù)據(jù)定義一個(gè)URI,然后其他的應(yīng)用程序就通過Content Provider傳入這個(gè)URI來對數(shù)據(jù)進(jìn)行操作。