1、應用
SharePreference主要用於保存一些數據,比如用戶登錄后的user_id,user_mobile,這樣就可以做自動登錄了,每次判斷SharePreference中有沒有數據,有的話就自動登錄。
2、寫入數據
SharedPreferences mSharedPreferences = getSharedPreferences("loginUser", Context.MODE_PRIVATE);
Editor editor = mSharedPreferences.edit();
editor.putInt("user_id", 1);
editor.putString("user_mobile","13811111111");
editor.commit();
其中Context.MODE_PRIVATE是我們最常用的,只允許自己的程序訪問
寫入的數據保存在:
/data/data/<package name>/shared_prefs/loginUser.xml (手機中有root權限才可以看見)
3、讀取數據
下面的寫法,是怎么從sharepreference中取出剛存進去的值:
private SharedPreferences sp;
private int id;
private String numbers;
SharedPreferences sp = getSharedPreferences("loginUser", Context.MODE_PRIVATE);
//取得user_id和手機號,如果取不到值就取后面的""
numbers = sp.getString("user_mobile", "");
id = sp.getInt("user_id", "");
4、清除數據
下面的寫法,是清除sharepreference中的值:
SharedPreferences sp = getSharedPreferences("loginUser", Context.MODE_PRIVATE);
Editor editor = sp.edit();
editor.clear();
editor.commit();
那么用戶何種行為才能真正清除sharepreference中的數據呢?
1、清除數據
答:android應用中的清除數據,指的是清除app生成的本地文件,例如SharePreference保存在本地的xml文件,sqlite的db文件……還有啥??被清除過后的app,就和剛安裝的時候一模一樣!!!!!
sharePreference 中清除數據最好使用 Editor 而不是暴力的刪除對應的文件