android數據存儲(二)之SharedPreference存儲

1.定義:SharedPrefences是使用鍵值對的方式來存儲數據的。支持多種不同的數據類型存儲。

2.將數據存儲到SharedPreferences中

    2.1要使用SharedPreferences來存儲數據,首先要獲取到SharedPreferences對象,獲取方式主要有三種

    1>Context類中的getSharedPreferences對象

        此方法接受兩個參數,第一個參數用於指定SharedPreferences文件的名稱,如果指定的文件不存在則創建一個

        SharedPreferences文件都存在/data/data/<package name>/shared_prefs/目錄下的。第二個參數用於指定操作

        模式,目前只有一種模式可選,也是默認的操作模式。和直接傳0是相同的,表示只有當前的程序纔可以對這個

        SharedPreferences文件進行讀寫。

    2>Activity類中的getPrefences()

        只接收一個操作模式方法,因爲此方法會自動將當前的活動的類名作爲SharedPreferences的文件名。

    3>PreferenceManager類中的getDefaultPreferences()

        這是一個靜態方法,它接受一個Context參數,並自動使用當前應用程序的包名作爲前綴來命名SharedPreferences

        文件。

  2.2得到SharedPreferences對象之後,就可以向SharedPreferences文件中存儲數據了,主要分爲三步:

       1>調用SharedPreferences對象的edit()方法來獲取一個SharedPreferences.Edit對象。

       2>向SharedPreferences.Editor對象中添加數據。

       3>調用apply()方法將添加的數據提交,從而完成數據存儲操作。

  實例代碼:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Button btn=findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SharedPreferences.Editor editor=getSharedPreferences
                        ("data",MODE_PRIVATE).edit();
                editor.putString("name","Tom");
                editor.putInt("age",20);
                editor.putBoolean("married",false);
                editor.apply();
            }
        });
    }
}

3.從SharedPreferences中讀取數據

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Button btn=findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SharedPreferences pref=getSharedPreferences
                        ("data",MODE_PRIVATE);
                String name=pref.getString("name","");
                int age=pref.getInt("age",0);
                boolean married=pref.getBoolean("married",false);
            }
        });
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章