Android數據的幾種存儲方式---------SharePreferences(輕量的以鍵值對) 的使用


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

我一般用到保存用戶的習慣上,當程序下次起來的時候,按照用戶的習慣做某件事或者不坐某件事。

比如用戶看電視,而電視總共有1-10個頻道,當用戶在最后一次設置頻道為5的時候,此時我就會把5給記錄下來,電視關閉。然后等用戶下次再開打電視看的時候,此時的頻道就是用戶最后設置的5頻道,當然這只是一個例子。

//聲明

public static final String SAVESTRING_INFOS = "SAVESTRING_Infos";
public static final String SAVE_KEY;


 

在需要的地方調用存儲函數去做數據的存儲:

//調用存儲函數
SaveStringStr("頻道5");


 數據的存儲:

//把實參save_str以SAVE_KEY的鍵存儲

private void SaveStringStr(String save_str)

{

    Context ctx = MainActivity.this;
SharedPreferences settings = ctx.getSharedPreferences(SAVESTRING_INFOS, 0);


SharedPreferences.Editor editor = settings.edit();

editor.putString( SAVE_KEY, save_str);
editor.commit();
}

 

接着就是在讀取所存儲鍵值對然后根據值做相應處理

//下次使用該鍵值對時使用

//

SharedPreferences settings = getSharedPreferences(SAVESTRING_INFOS, 0); // 獲取一個SharedPreferences對象

String getsave_str = settings.getString(SAVE_KEY, "");
if(getsave_str.equals("頻道5"))
{

  //執行想做的動作


}

 

但是SharedPreferences也有其自身缺陷,比如其職能存儲boolean,int,float,long和String五種簡單的數據類型,比如其無法進行條件查詢等。

extends Activity可以正常使用如果是extends Dialog則會找不到 getSharedPreferences(,); 解決方法還沒找到。

 幾種存儲方式:

//Shared Preferences
//Store private primitive data in key-value pairs. 輕量的以鍵值對的形式進行存儲
//Internal Storage
//Store private data on the device memory. 設備上的文件存儲
//External Storage
//Store public data on the shared external storage. 外部的文件存儲,一般指存儲在SD卡上的文件,優勢是不隨程序卸載而刪除
//SQLite Databases
//Store structured data in a private database. 這個比較常見了數據庫
//Network Connection
//Store data on the web with your own network server. 網絡獲取

參考:http://www.cnblogs.com/wisekingokok/archive/2011/09/16/2177833.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM