歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android四種存儲方式 sharedpreference,file,SQlite,contentprovider實現增刪改查

Android四種存儲方式 sharedpreference,file,SQlite,contentprovider實現增刪改查

日期:2017/3/1 10:45:02   编辑:Linux編程

Android四種存儲方式: sharedpreference,file,SQlite,contentprovider。

1、SharedPreferences是一種輕型的數據存儲方式,它的本質是基於XML文件存儲key-value鍵值對數據,通常用來存儲一些簡單的配置信息。其存儲位置在/data/data/<包名>/shared_prefs目錄下。SharedPreferences對象本身只能獲取數據而不支持存儲和修改,存儲修改是通過Editor對象實現。

本文源碼工程下載地址:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /pub/Android源碼集錦/2011年/12月/Android四種存儲方式/

實現SharedPreferences存儲的步驟如下:

  一、根據Context獲取SharedPreferences對象

  二、利用edit()方法獲取Editor對象。

  三、通過Editor對象存儲key-value鍵值對數據。

  四、通過commit()方法提交數據。

  具體實現代碼如下:實現存儲,讀取,清除,刪除

效果圖:


首先創建:// 首先拿到sharedpreference對象

mShared =getSharedPreferences(SHARED_MAIN_XML, MODE_PRIVATE);

存儲:

  1. private void write() {// 存入數據
  2. savename = name.getText().toString().trim();
  3. saveage = Integer.valueOf(age.getText().toString().trim());
  4. Editor editor = mShared.edit();
  5. editor.putString("name", savename);
  6. editor.putInt("age", saveage);
  7. // 保證操作的事務完整性
  8. editor.commit();
  9. }

閱讀:

  1. private String read() {// 從數據庫裡讀取數據
  2. namecontent = mShared.getString("name", "數據庫裡沒有存儲姓名");
  3. agecontent = mShared.getInt("age", 0);
  4. String reading = "姓名:" + namecontent + "\n年齡:" + agecontent;
  5. return reading;
  6. }

清除內容:

  1. private void clear() {//清除內容
  2. /** 開始清除SharedPreferences中保存的內容 **/
  3. Editor editor = mShared.edit();
  4. editor.remove("name");
  5. editor.remove("age");
  6. editor.commit();
  7. }

刪除文件:

  1. private void delete() {//刪除文件
  2. /** 刪除SharedPreferences文件 **/
  3. Filefile = new File("/data/data/cn.csdn.activity" + "/shared_prefs/"
  4. + SHARED_MAIN_XML + ".xml");
  5. if (file.exists()) {
  6. file.delete();
  7. Toast.makeText(this, "刪除成功", Toast.LENGTH_LONG).show();
  8. }
  9. }

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

Copyright © Linux教程網 All Rights Reserved