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