Android應(yīng)用開發(fā)SharedPreferences存儲數(shù)據(jù)的使用方法
更新時(shí)間:2012年11月13日 11:52:58 作者:
SharedPreferences是Android中最容易理解的數(shù)據(jù)存儲技術(shù),實(shí)際上SharedPreferences處理的就是一個(gè)key-value(鍵值對)SharedPreferences常用來存儲一些輕量級的數(shù)據(jù)
SharedPreferences是Android中最容易理解的數(shù)據(jù)存儲技術(shù),實(shí)際上SharedPreferences處理的就是一個(gè)key-value(鍵值對)。SharedPreferences常用來存儲一些輕量級的數(shù)據(jù).
//實(shí)例化SharedPreferences對象(第一步)
SharedPreferences mySharedPreferences= getSharedPreferences("test",
Activity.MODE_PRIVATE);
//實(shí)例化SharedPreferences.Editor對象(第二步)
SharedPreferences.Editor editor = mySharedPreferences.edit();
//用putString的方法保存數(shù)據(jù)
editor.putString("name", "Karl");
editor.putString("habit", "sleep");
//提交當(dāng)前數(shù)據(jù)
editor.commit();
//使用toast信息提示框提示成功寫入數(shù)據(jù)
Toast.makeText(this, "數(shù)據(jù)成功寫入SharedPreferences!" ,
Toast.LENGTH_LONG).show();
執(zhí)行以上代碼,SharedPreferences將會把這些數(shù)據(jù)保存在test.xml文件中,可以在File Explorer的data/data下導(dǎo)出該文件,并查看。
那么已經(jīng)保存好的數(shù)據(jù)如何讀取出來呢。我們來看:
[code]
//同樣,在讀取SharedPreferences數(shù)據(jù)前要實(shí)例化出一個(gè)SharedPreferences對象
SharedPreferencessharedPreferences= getSharedPreferences("test",
Activity.MODE_PRIVATE);
// 使用getString方法獲得value,注意第2個(gè)參數(shù)是value的默認(rèn)值
String name =sharedPreferences.getString("name", "");
String habit =sharedPreferences.getString("habit", "");
//使用toast信息提示框顯示信息
Toast.makeText(this, "讀取數(shù)據(jù)如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit,
Toast.LENGTH_LONG).show();
源代碼如下:
public class Main extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClick_WriteData(View view)
{
SharedPreferences mySharedPreferences = getSharedPreferences("test",
Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putString("name", "karl");
editor.putString("habit", "sleep");
editor.commit();
Toast.makeText(this, "數(shù)據(jù)成功寫入SharedPreferences!" ,
Toast.LENGTH_LONG).show();
}
public void onClick_ReadData(View view)
{
SharedPreferences sharedPreferences = getSharedPreferences("test",
Activity.MODE_PRIVATE);
String name = sharedPreferences.getString("name", "");
String habit = sharedPreferences.getString("habit", "");
Toast.makeText(this, "讀取數(shù)據(jù)如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit,
Toast.LENGTH_LONG).show();
}
}


圖1.1 程序執(zhí)行結(jié)果
復(fù)制代碼 代碼如下:
//實(shí)例化SharedPreferences對象(第一步)
SharedPreferences mySharedPreferences= getSharedPreferences("test",
Activity.MODE_PRIVATE);
//實(shí)例化SharedPreferences.Editor對象(第二步)
SharedPreferences.Editor editor = mySharedPreferences.edit();
//用putString的方法保存數(shù)據(jù)
editor.putString("name", "Karl");
editor.putString("habit", "sleep");
//提交當(dāng)前數(shù)據(jù)
editor.commit();
//使用toast信息提示框提示成功寫入數(shù)據(jù)
Toast.makeText(this, "數(shù)據(jù)成功寫入SharedPreferences!" ,
Toast.LENGTH_LONG).show();
執(zhí)行以上代碼,SharedPreferences將會把這些數(shù)據(jù)保存在test.xml文件中,可以在File Explorer的data/data下導(dǎo)出該文件,并查看。
那么已經(jīng)保存好的數(shù)據(jù)如何讀取出來呢。我們來看:
復(fù)制代碼 代碼如下:
[code]
//同樣,在讀取SharedPreferences數(shù)據(jù)前要實(shí)例化出一個(gè)SharedPreferences對象
SharedPreferencessharedPreferences= getSharedPreferences("test",
Activity.MODE_PRIVATE);
// 使用getString方法獲得value,注意第2個(gè)參數(shù)是value的默認(rèn)值
String name =sharedPreferences.getString("name", "");
String habit =sharedPreferences.getString("habit", "");
//使用toast信息提示框顯示信息
Toast.makeText(this, "讀取數(shù)據(jù)如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit,
Toast.LENGTH_LONG).show();
源代碼如下:
復(fù)制代碼 代碼如下:
public class Main extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClick_WriteData(View view)
{
SharedPreferences mySharedPreferences = getSharedPreferences("test",
Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putString("name", "karl");
editor.putString("habit", "sleep");
editor.commit();
Toast.makeText(this, "數(shù)據(jù)成功寫入SharedPreferences!" ,
Toast.LENGTH_LONG).show();
}
public void onClick_ReadData(View view)
{
SharedPreferences sharedPreferences = getSharedPreferences("test",
Activity.MODE_PRIVATE);
String name = sharedPreferences.getString("name", "");
String habit = sharedPreferences.getString("habit", "");
Toast.makeText(this, "讀取數(shù)據(jù)如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit,
Toast.LENGTH_LONG).show();
}
}


圖1.1 程序執(zhí)行結(jié)果
您可能感興趣的文章:
- Android SharedPreferences存儲用法詳解
- Android SharedPreferences實(shí)現(xiàn)記住密碼和自動登錄界面
- Android 清除SharedPreferences 產(chǎn)生的數(shù)據(jù)(實(shí)例代碼)
- android中使用SharedPreferences進(jìn)行數(shù)據(jù)存儲的操作方法
- Android學(xué)習(xí)筆記-保存數(shù)據(jù)到SQL數(shù)據(jù)庫中(Saving Data in SQL Databases)
- Android 實(shí)現(xiàn)永久保存數(shù)據(jù)的方法詳解
- Android 使用 SharedPreferences 保存少量數(shù)據(jù)的實(shí)現(xiàn)代碼
相關(guān)文章
Android 簡單實(shí)現(xiàn)倒計(jì)時(shí)功能
在 Android 中倒計(jì)時(shí)功能是比較常用的一個(gè)功能,比如短信驗(yàn)證碼,付款倒計(jì)時(shí)等。今天小編給大家分享Android 簡單實(shí)現(xiàn)倒計(jì)時(shí)功能,感興趣的朋友一起看看吧2019-12-12
Android獲取assets文件夾中的數(shù)據(jù)并寫入SD卡示例
這篇文章主要介紹了Android獲取assets文件夾中的數(shù)據(jù)并寫入SD卡示例,對初學(xué)Android開發(fā)的朋友來說是一個(gè)很實(shí)用的功能,需要的朋友可以參考下2014-07-07
android實(shí)現(xiàn)圖片橡皮擦和快速染色功能
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)圖片橡皮擦和快速染色功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
Android位圖(圖片)加載引入的內(nèi)存溢出問題詳細(xì)解析
Android在加載大背景圖或者大量圖片時(shí),常常致使內(nèi)存溢出,下面這篇文章主要給大家介紹了關(guān)于Android位圖(圖片)加載引入的內(nèi)存溢出問題的相關(guān)資料,需要的朋友可以參考下2022-12-12
Android 操作系統(tǒng)獲取Root權(quán)限 原理詳細(xì)解析
許多機(jī)友新購來的Android機(jī)器沒有破解過Root權(quán)限,無法使用一些需要高權(quán)限的軟件,以及進(jìn)行一些高權(quán)限的操作,其實(shí)破解手機(jī)Root權(quán)限是比較簡單及安全的,破解Root權(quán)限的原理就是在手機(jī)的/system/bin/或/system/xbin/目錄下放置一個(gè)可執(zhí)行文件“su”2013-10-10
Android自定義TextView實(shí)現(xiàn)文字傾斜效果
有時(shí)候Android自帶的控件無法滿足我們的某些要求,這時(shí)就需要我們自定義控件來實(shí)現(xiàn)這些功能。比如在實(shí)際開發(fā)應(yīng)用中,我們有時(shí)需要將TextView的文字傾斜一定的角度,就需要自定義TextView。下面這篇文章就給大家介紹了利用Android TextView如何實(shí)現(xiàn)文字傾斜效果。2016-11-11
Kotlin1.6.20新功能Context?Receivers使用技巧揭秘
這篇文章主要為大家介紹了Kotlin1.6.20功能Context?Receivers使用揭秘,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
深入解讀Android的內(nèi)部進(jìn)程通信接口AIDL
這篇文章主要介紹了Android的內(nèi)部進(jìn)程通信接口AIDL,重點(diǎn)講解了進(jìn)程間的通信與AIDL內(nèi)存使用方面的parcelable接口的實(shí)現(xiàn),需要的朋友可以參考下2016-04-04
android中圖片的三級緩存cache策略(內(nèi)存/文件/網(wǎng)絡(luò))
實(shí)現(xiàn)圖片緩存也不難,需要有相應(yīng)的cache策略。這里我采用 內(nèi)存-文件-網(wǎng)絡(luò) 三層cache機(jī)制,其中內(nèi)存緩存包括強(qiáng)引用緩存和軟引用緩存(SoftReference),其實(shí)網(wǎng)絡(luò)不算cache,這里姑且也把它劃到緩存的層次結(jié)構(gòu)中2013-06-06

