Android SharedPreferences 的使用
學而時習之,穩(wěn)固而之心,如果這邊文章幫助了您,希望給一個贊?
?
如果你只是著急使用忘記了方法 那么下面這些代碼完全滿足了您的使用
private static final String USER = "app";
SharedPreferences sp = this.getSharedPreferences(USER, Context.MODE_PRIVATE);SharedPreferences.Editor editor = sp.edit();//獲取編輯器editor.putString("token", "412714199310245458");editor.commit();SharedPreferences sharedPreferences = this.getSharedPreferences(USER, Context.MODE_PRIVATE);String value = sharedPreferences.getString("token", "");Log.e("----------value", value);
如果想了解下其他的,可以看下面的內(nèi)容
1 定義一個靜態(tài)的USER是干什么作用的
這個是給緩存的內(nèi)容的xml 取一個名字,?
怎樣查看這個名字以及內(nèi)容呢
1 點擊studio工具右下角的
2 點擊data?然后到里面在點擊data
3 里面有個文件夾的名字與自己的包名一樣
(這里順便說一下如果項目ANR了,看到到這里的cache里面查看日志呢)
點擊去看看
看到這個app沒,這個就是剛才取的名字
可以點擊查看內(nèi)容
這里可以看到SharedPreferences 緩存的內(nèi)容,不過手機里面是查看不到的,記住奧
?
在說下Context.MODE_PRIVATE? 這個是?SharedPreferences 的類型 說明這種緩存是私有數(shù)據(jù)?只有本程序讀寫
然后還有其他的類型?
3個方法過時了
這些可以不用管,一般都是使用? ? ?Context.MODE_PRIVATE//私有數(shù)據(jù)
緩存數(shù)據(jù) 類型有 集合,字符串 布爾,整形,長整型
editor.putString(緩存的名字自己取的名字獲取緩存使用的標識, 緩存的內(nèi)容);
editor.commit(); 這個還緩存的類型 是同步緩存
editor.apply(); 是異常緩存 (這2個曾經(jīng)面試題有人問過我)
了解完之后 現(xiàn)在需要每個用戶的數(shù)據(jù)獨自 這個時候使用緩存改怎樣操作呢
這個就是需要我們?nèi)〉哪莻€名字了 可以給每個用戶一個緩存的xml 這樣就不會存在數(shù)據(jù)
重復的情況了 ,這個也是自己在項目中經(jīng)常使用到的
SharedPreferences sp = this.getSharedPreferences(USER+"手機號", Context.MODE_PRIVATE);SharedPreferences.Editor editor = sp.edit();//獲取編輯器editor.putString("token", "412714199310245458");editor.commit();
假如現(xiàn)在2個用戶的緩存信息如下
使用自己取的名字區(qū)分很不錯?
最后的一個問題就是SharedPreferences 的工具類? 這個要看自己怎樣操作了
假如寫了一個通用的SharedPreferences 然后每次獲取的時候根據(jù)靜態(tài)變量來回去,個人感覺很麻煩 ,也不方便記憶
個人建議寫一個存放緩存的utils 里面填寫如下
/*** 保存當前用戶的UserId* @param context* @param userId*/public static void saveUserId(Context context, String userId) {SharedPreferences sharedPreferences = context.getSharedPreferences(APP, Context.MODE_PRIVATE); //私有數(shù)據(jù)SharedPreferences.Editor editor = sharedPreferences.edit();//獲取編輯器editor.putString("userId", userId);editor.commit();//提交修改}/*** 獲取當前用戶的userId** @param context*/public static String getUserId(Context context) {SharedPreferences sharedPreferences = context.getSharedPreferences(APP, Context.MODE_PRIVATE); //私有數(shù)據(jù)return sharedPreferences.getString("userId", "");}
在需要緩存的地方調(diào)用utils.saveUserId(xx,xx) ,獲取的地方直接調(diào)用utils.getUserId()
這樣也很方便記憶 ,緩存什么,寫一個名字自己記憶,,, 如果要私有數(shù)據(jù),記得在區(qū)分名字即可,我一般的處理
是后臺添加手機號之類的。
希望幫助了您。。。。。。。。。。。。。。。。。。。。。。
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Android SharedPreferences 的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 尾径30以上的柏树原木要多少钱一立方
- 下一篇: 小海蒂作者是谁啊?