Android資料儲存總結

2021-09-27 07:26:47 字數 3913 閱讀 1207

1.使用sharedpreferences儲存資料

2.檔案儲存資料

3.sqlite資料庫儲存資料

4.使用contentprovider儲存資料

5.網路儲存資料

儲存少量的資料,且這些資料的格式非常簡單:字串型、基本型別的值。比如應用程式的各種配置資訊(如是否開啟音效、是否使用震動效果、小遊戲的玩家積分等),解鎖口 令密碼等。

儲存基於xml檔案儲存的key-value鍵值對資料,通常用來儲存一些簡單的配置資訊。通過ddms的file explorer面板,展開檔案瀏覽樹,很明顯sharedpreferences資料總是儲存在/data/data//shared_prefs目錄下。sharedpreferences物件本身只能獲取資料而不支援儲存和修改,儲存修改是通過sharedpreferences.edit()獲取的內部介面editor物件實現。 sharedpreferences本身是一 個介面,程式無法直接建立sharedpreferences例項,只能通過context提供的getsharedpreferences(string name, int mode)方法來獲取sharedpreferences例項。

context.mode_private:指定該sharedpreferences資料只能被本應用程式讀、寫。

context.mode_world_readable:指定該sharedpreferences資料能被其他應用程式讀,但不能寫。context.mode_world_writeable:指定該sharedpreferences資料能被其他應用程式讀,寫。

sharedpreferences.editor clear()清空sharedpreferences裡所有資料。

sharedpreferences.editor put***(string key , *** value):向sharedpreferences存入指定key對應的資料,其中*** 可以是boolean,float,int等各種基本型別據。

sharedpreferences.editor remove():刪除sharedpreferences中指定key對應的資料項。

boolean commit():當editor編輯完成後,使用該方法提交修改。

1.在建立sharedpreferences時,指定mode_world_readable模式,表明該sharedpreferences資料可以被其他程式讀取。

3.使用其他程式的context獲取對應的sharedpreferences。

sharedpreferences read = pvcount.getsharedpreferences(「lock」, context.mode_world_readable)。

4、如果是寫入資料,使用editor介面即可,所有其他操作均和前面一致。

sharedpreferences物件與sqlite資料庫相比,免去了建立資料庫,建立表,寫sql語句等諸多操作,相對而言更加方便,簡潔。 但是sharedpreferences也有其自身缺陷,比如其職能儲存boolean,int,float,long和string五種簡單的資料類 型,比如其無法進行條件查詢等。所以不論sharedpreferences的資料儲存操作是如何簡單,它也只能是儲存方式的一種補充,而無法完全替代如 sqlite資料庫這樣的其他資料儲存方式。

除此之外,context還提供了如下幾個重要的方法:

getdir(string name , int mode):在應用程式的資料資料夾下獲取或者建立name對應的子目錄。

file getfilesdir():獲取該應用程式的資料資料夾得絕對路徑。

string filelist():返回該應用資料資料夾的全部檔案。

sqlite是輕量級嵌入式資料庫引擎,它支援sql 語言,並且只利用很少的記憶體就有很好的效能。現在的主流移動裝置像android、iphone等都使用sqlite作為複雜資料的儲存引擎,在我們為移 動裝置開發應用程式時,也許就要使用到sqlite來儲存我們大量的資料,所以我們就需要掌握移動裝置上的sqlite開發技巧 。

android 提供了sqliteopenhelper抽象類幫助你建立乙個資料庫,你只要繼承 sqliteopenhelper 類,就可以輕鬆的建立資料庫。sqliteopenhelper 類根據開發應用程式的需要,封裝了建立和更新資料庫使用的邏輯。

sqliteopenhelper 中有兩個抽象方法:1.oncreate()2.onupdate()在這兩個方法中去實現建立和公升級資料庫的邏輯。

sqliteopenhelper中還有兩個非常重要的例項方法:1.getreadabledatabase() 2. getwritabledatabase()

這兩種方法都可以建立或開啟乙個現有的資料庫(如果資料庫已存在則直接開啟,否則建立乙個新的資料庫),並返回乙個可對資料庫進行讀寫操作的物件。不同的是,當資料庫不可寫入的時候(如磁碟空間已滿)getreadabledatabase() 方法返回的物件將以唯讀的方式去開啟資料庫,而getwritabledatabase() 方法將丟擲異常。

sqliteopenhelper的構造方法接收四個引數,第乙個引數是context,必須要有context物件才能對資料庫進行操作。第二個引數是資料庫名,建立資料庫時使用的就是這裡指定的名稱。第三個引數允許在查詢資料庫的時候返回乙個自定義的cursor,一般傳入null。第四個引數表示當前資料庫的版本號,可用於對資料庫進行公升級操作。

contentprovider內容提供器,主要用於在不同應用程式之間實現資料的共享功能。

contentprovider使用方法有兩種:一種是使用現有的內容提供器來讀取和操作相應程式中的資料;另一種是建立自己的內容提供器給我們的應用提供外部訪問介面。

乙個程式可以通過實現乙個contentprovider的抽象介面將自己的資料完全暴露出去,而且contentproviders是以類似資料庫中表的方式將資料暴露,也就是說contentprovider就像乙個「資料庫」。那麼外界獲取其提供的資料,也就應該與從資料庫中獲取資料的操作基本一樣,只不過是採用uri來表示外界需要訪問的「資料庫」。

使用方法

1.建立乙個介面,定義了乙個名為content_url,並且是public static final的uri型別的類變數,必須為其指定乙個唯一的字串值,最好的方案是類的全稱,和資料列的名稱。

2.實現sqliteopenhelper。

3.建立乙個繼承了contentprovider父類的類。

4.在androidmanifest.xml中使用標籤來設定呼叫contentprovider。

5.增加資料。

6.刪除資料。

7.查詢資料。

8.更新資料。

通過網路來實現資料的儲存和獲取。

我們可以呼叫webservice返回的資料或是解析http協議實現網路資料互動。

我們上述所講的都是通過本地上傳的。

Android資料儲存五種方式總結

本文介紹android平台進行資料儲存的五大方式,分別如下 1 使用sharedpreferences儲存資料 2 檔案儲存資料 3 sqlite資料庫儲存資料 4 使用contentprovider儲存資料 5 網路儲存資料 sharedpreferencese的使用 適用範圍 儲存少量的資料,且...

Android資料儲存

android中一共提供了4種資料儲存方式 shared preferences 用來儲存 key value paires 格式的資料,它是乙個輕量級的鍵值儲存機制,只可以儲存基本資料型別。files 他通過fileinputstream和fileoutputstream對檔案進行操作。但是在an...

Android資料儲存

1.五種儲存方式 android作業系統提供了一種公共檔案系統,即任何應用軟體都可以使用它來儲存和讀取檔案,該檔案被其他的應用軟體讀取。android採用了一種不同的系統,在android中,所有的應用軟體資料 為應用軟體私有,然而,android也提供了一種標準方式 用軟體將私有資料開放給其他應用...