国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android中SharedPreference詳解及簡單實例

2019-10-22 18:27:11
字體:
來源:轉載
供稿:網友

 Android中SharedPreference詳解

   SharedPreference是Android提供的一種輕量級的數據存儲方式,主要用來存儲一些簡單的配置信息,例如,默認歡迎語,登錄用戶名和密碼等。其以鍵值對的方式存儲,使得我們能很方便進行讀取和存入。

     SharedPreference 文件保存在/data/data/<package name>/shared_prefs 路徑下(如/data/data/com.android.alarmclock/shared_prefs/com.android.text_preferences.xml),通過cat命令可以查看文件,如:

Android,SharedPreference,SharedPreference的使用方法

     通過Activity自帶的getSharedPreferences方法,可以得到SharedPreferences對象。

   public abstract SharedPreferences getSharedPreferences (String name, int mode);

     name:表示保存后 xml 文件的名稱

     mode:表示 xml 文檔的操作權限模式(私有,可讀,可寫),使用0或者MODE_PRIVATE作為默認的操作權限模式。 

     1.數據讀取:

     通過SharedPreferences對象的鍵key可以獲取到對應key的鍵值。對于不同類型的鍵值有不同的函數:

getBoolean,getInt,getFloat,getLong.   public abstract String getString (String key, String defValue);

     2.數據存入:

     數據的存入是通過SharedPreferences對象的編輯器對象Editor來實現的。通過編輯器函數設置鍵值,然后調用commit()提交設置,寫入xml文件。

   public abstract SharedPreferences.Editor edit ();   public abstract SharedPreferences.Editor putString (String key, String value);   public abstract boolean commit ();

 下面一個實例顯示一個TextView,上面顯示用戶使用該應用的次數。

效果圖如下:

Android,SharedPreference,SharedPreference的使用方法

源代碼如下:

main.xml:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   android:orientation="vertical"   android:layout_width="fill_parent"   android:layout_height="fill_parent">      <TextView      android:id="@+id/textview"     android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:text="@string/hello"/>    </LinearLayout> 

TestSharedPreferences.java:

package com.android.test; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.widget.TextView; public class TestSharedPreferences extends Activity {   /** Called when the activity is first created. */   @Override   public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.main);          SharedPreferences mSharedPreferences = getSharedPreferences("TestSharedPreferences", 0); //    SharedPreferences mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);          int counter = mSharedPreferences.getInt("counter", 0);          TextView mTextView = (TextView)findViewById(R.id.textview);     mTextView.setText("This app has been started " + counter + " times.");          SharedPreferences.Editor mEditor = mSharedPreferences.edit();     mEditor.putInt("counter", ++counter);     mEditor.commit();        } } 

幾點說明:

1.SharedPreferences的獲取有兩種方法:

一是上面提到的通過Activity自帶(本質來講是Context的)的getSharedPreferences方法,可以得到SharedPreferences對象。這種方法的好處是可以指定保存的xml文件名。

另一種是通過PreferenceManager.getSharedPreferences(Context)獲取SharedPreferences對象。這種方法不能指定保存的xml文件名,文件名使用默認的:<package name>+"_preferences.xml"的形式,不過如果在一個包里面采用這種方式需要保存多個這樣的xml文件,可能會亂掉。建議采用第一種指定xml文件名的形式。

2.數據的存入必須通過SharedPreferences對象的編輯器對象Editor來實現,存入(put)之后與寫入數據庫類似一定要commit。

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 任丘市| 东丽区| 平遥县| 潍坊市| 苗栗县| 上蔡县| 当雄县| 洪雅县| 汶川县| 溧水县| 元阳县| 璧山县| 威宁| 周至县| 晋江市| 罗甸县| 荃湾区| 武义县| 洪洞县| 永州市| 翁源县| 前郭尔| 西宁市| 西充县| 手机| 定日县| 南陵县| 河南省| 新疆| 公安县| 平遥县| 永福县| 庆安县| 南安市| 莫力| 额尔古纳市| 石台县| 长治县| 宁国市| 孟津县| 独山县|