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線性布局 可以設定它的垂直或水平屬性值,來排列所有的了元素,所有的的元素都被堆放在其它元素之後。垂直列表的每一行只會有乙個元素,而水平列表只有乙個行高。線生布局可能進行複雜的布局編排。可以巢狀...