android的五種儲存機制

2021-07-12 04:23:21 字數 2105 閱讀 6569

android提供了5種方式儲存資料:

--使用sharedpreferences儲存資料;

--檔案儲存資料; 

--sqlite資料庫儲存資料;

--使用contentprovider儲存資料;

--網路儲存資料;

preference,file,database這三種方式分別對應的目錄是: 

/data/data/package name/shared_pref;

/data/data/package name/files;

/data/data/package name/database 

第一種: 使用sharedpreferences儲存資料

核心原理:儲存基於xml檔案儲存的key-value鍵值對資料,通常用來儲存一些簡單的配置資訊。sharedpreferences物件本身只能獲取資料而不支援儲存和修改,儲存修改是通過sharedpreferences.edit()獲取的內部介面editor物件實現。 sharedpreferences本身是一 個介面,程式無法直接建立sharedpreferences例項,只能通過context提供的getsharedpreferences(string name, int mode)方法來獲取sharedpreferences例項,該方法中name表示要操作的xml檔名

第二種: 檔案儲存資料

核心原理: context提供了兩個方法來開啟資料檔案裡的檔案io流 fileinputstream openfileinput(string name); fileoutputstream(string name , int mode),這兩個方法第乙個引數 用於指定檔名,第二個引數指定開啟檔案的模式。具體有以下值可選:

mode_world_readable:表示當前檔案可以被其他應用讀取;

mode_world_writeable:表示當前檔案可以被其他應用寫入。

第三種:sqlite儲存資料

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

sqliteopenhelper類介紹

sqliteopenhelper是sqlitedatabase的乙個幫助類,用來管理資料庫的建立和版本的更新。一般是建立乙個類繼承它,並實現它的oncreate和onupgrade方法。

我們在dao構造方法中例項化sqlitedbhelper並獲取乙個sqlitedatabase物件,作為整個應用的資料庫例項;在增刪改資訊時,我們採用了事務處理,確保資料完整性;最後要注意釋放資料庫資源db.close(),這乙個步驟在我們整個應用關閉時執行,這個環節容易被忘記,所以大家要注意。

第四種:contentprovider儲存

contentprovider向我們提供了我們在應用程式之前共享資料的一種機制,而我們知道每乙個應用程式都是執行在不同的應用程式的,資料和檔案在不同應用程式之間達到資料的共享不是沒有可能,而是顯得比較複雜,而正好android中的contentprovider則達到了這一需求,比如有時候我們需要操作手機裡的聯絡人,手機裡的多**等一些資訊,我們都可以用到這個contentprovider來達到我們所需。

第五種:網路儲存

所謂網路儲存其實就是從伺服器端獲取資源,利用httpurlconnection物件,我們可以從網路中獲取網頁資料和檔案資料;向internet傳送請求引數:利用httpurlconnection物件,我們可以向網路傳送請求引數.

最後當然少不了總結啦,總得來說我們平常在開發中還是要實現「因地制宜」的,那

麼在什麼情況下使用什麼什麼儲存呢,來看一下:

1、簡單資料和配置資訊,sharedpreference是首選;

2、如果sharedpreferences不夠用,那麼就建立乙個資料庫;

3、結構化資料,一定要建立資料庫,雖然麻煩,但是利於後邊操作;

5、contentprovider.適用場景

1) contentprovider為儲存和讀取資料提供了統一的介面

2) 使用contentprovider,應用程式可以實現資料共享

Android資料儲存五種方式總結

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

Android五種布局方式

android五種布局方式 linearlayout relativelayout tablelayout.android使用xml宣告介面布局 將程式的表現層和控制層分離 修改使用者介面時,無需更改程式的源 視覺化工具設計使用者介面 android五種布局方式 linearlayout線性布局 a...

Android五種布局方式

1 framelayout 框架布局 所有控軟只能羅列到左上角,不能進行複雜的布局 2 linelayout線性布局 可以設定它的垂直或水平屬性值,來排列所有的了元素,所有的的元素都被堆放在其它元素之後。垂直列表的每一行只會有乙個元素,而水平列表只有乙個行高。線生布局可能進行複雜的布局編排。可以巢狀...