日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android --- SharedPreferences的详细介绍

發布時間:2025/3/21 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android --- SharedPreferences的详细介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 概念理解:
    • getSharedPreferences 方法介紹
    • 使用SharedPreferences保存key-value鍵值對的步驟如下:
    • 栗子1
    • 栗子2

概念理解:

SharedPreferences 是一個輕量級的存儲類,主要是保存一些小的數據,一些狀態信息.做軟件開發應該都知道,很多軟件會有配置文件,里面存放這程序運行當中的各個屬性值,由于其配置信息并不多,如果采用數據庫來存放并不劃算,因為數據庫連接跟操作等耗時大大影響了程序的效率,因此我們使用鍵值這種一一對應的關系來存放這些配置信息。SharedPreferences正是Android中用于實現這中存儲方式的技術。

SharedPreferences的使用非常簡單,能夠輕松的存放數據和讀取數據。SharedPreferences只能保存簡單類型的數據,例如,String、int等。一般會將復雜類型的數據轉換成Base64編碼,然后將轉換后的數據以字符串的形式保存在 XML文件中,再用SharedPreferences保存。

getSharedPreferences 方法介紹

其中兩個參數的意義為

public SharedPreferences getSharedPreferences(String name, int mode) {return mBase.getSharedPreferences(name, mode); }

name為本組件的配置文件名( 自己定義,也就是一個文件名)

mode為操作模式,默認的模式為0或MODE_PRIVATE,還可以使用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE

mode指定為MODE_PRIVATE,則該配置文件只能被自己的應用程序訪問。
mode指定為MODE_WORLD_READABLE,則該配置文件除了自己訪問外還可以被其它應該程序讀取。
mode指定為MODE_WORLD_WRITEABLE,則該配置文件除了自己訪問外還可以被其它應該程序讀取和寫入

使用SharedPreferences保存key-value鍵值對的步驟如下:

(1)使用SharedPreferences接口的Editor 獲得SharedPreferences.Editor 對象editor。
代碼實例如下:

private SharedPreferences.Editor editor;

(2)使用Activity類的getSharedPreferences方法獲得SharedPreferences對象,其中存儲key-value的文件的名稱由getSharedPreferences方法的第一個參數指定。
代碼實例如下:

private SharedPreferences preferences; private SharedPreferences.Editor editor;public Sputil(Context context) {preferences = context.getSharedPreferences("com.ihome.za_home.setting", context.MODE_PRIVATE);editor = preferences.edit(); }

(3)通過SharedPreferences.Editor接口的putXxx方法保存key-value 對。其中Xxx表示不同的數據類型。例如:字符串類型的value需要用 putString方法。
代碼實例如下:

public void putString(String key, String value) {editor.putString(key, value);editor.commit(); } public void putBoolean(String key, boolean value) {editor.putBoolean(key, value);editor.commit(); }

(4)通過SharedPreferences.Editor接口的commit方法保存key-value 對。commit方法相當于數據庫事務中的提交(commit)操作。
如(3)所示,直接在內部提交了

栗子1

import android.content.Context; import android.content.SharedPreferences;public class Sputil {private SharedPreferences preferences;private SharedPreferences.Editor editor;public Sputil(Context context) {preferences = context.getSharedPreferences("com.xiaoqinglong.chong", context.MODE_PRIVATE);editor = preferences.edit();}/*** 向SP存入指定key對應的數據* 其中value可以是String、boolean、float、int、long等各種基本類型的值* @param key* @param value*/public void putString(String key, String value) {editor.putString(key, value);editor.commit();}public void putBoolean(String key, boolean value) {editor.putBoolean(key, value);editor.commit();}public void putFloat(String key, float value) {editor.putFloat(key, value);editor.commit();}public void putInt(String key, int value) {editor.putInt(key, value);editor.commit();}public void putLong(String key, long value) {editor.putLong(key, value);editor.commit();}/*** 清空SP里所以數據*/public void clear() {editor.clear();editor.commit();}/*** 刪除SP里指定key對應的數據項* @param key*/public void remove(String key) {editor.remove(key);editor.commit();}/*** 獲取SP數據里指定key對應的value。如果key不存在,則返回默認值defValue。* @param key* @param defValue* @return*/public String getString(String key, String defValue) {return preferences.getString(key, defValue);}public boolean getBoolean(String key, boolean defValue) {return preferences.getBoolean(key, defValue);}public float getFloat(String key, float defValue) {return preferences.getFloat(key, defValue);}public int getInt(String key, int defValue) {return preferences.getInt(key, defValue);}public long getLong(String key, long defValue) {return preferences.getLong(key, defValue);}/*** 判斷SP是否包含特定key的數據* @param key* @return*/public boolean contains(String key){return preferences.contains(key);} }

栗子2

存放數據信息

(1)、打開Preferences,名稱為setting,如果存在則打開它,否則創建新的Preferences

SharedPreferences settings = getSharedPreferences(“setting”, 0);

(2)、讓setting處于編輯狀態

SharedPreferences.Editor editor = settings.edit();

(3)、存放數據

editor.putString(“name”,”ATAAW”); editor.putString(“URL”,”ATAAW.COM”);

(4)、完成提交

editor.commit();

讀取數據信息

(1)、獲取Preferences

SharedPreferences settings = getSharedPreferences(“setting”, 0);

(2)、取出數據

String name = settings.getString(“name”,”默認值”); String url = setting.getString(“URL”,”default”);

就介紹到這里了,有什么不理解的或者是小編有錯誤的地方,都可以在評論區留言,如果對你有益處的話記得收藏哦

總結

以上是生活随笔為你收集整理的Android --- SharedPreferences的详细介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美激情视频在线播放 | 欧美日韩一区二 | 欧美三级视频在线观看 | 黄色成人免费观看 | 超碰91在线观看 | 毛片福利 | 国产色婷婷一区二区三区竹菊影视 | 国产精品制服诱惑 | 大地资源在线观看免费高清版粤语 | 国产精品久久一区二区三区 | 成人国产精品入口免费视频 | 人人综合 | 狠狠操2019 | 成人羞羞国产免费动态 | 色屁屁一区二区三区视频 | 欧美精品第二页 | 国产盗摄一区二区三区 | 色涩网站 | 午夜xx | 老牛嫩草二区三区观影体验 | 一卡二卡三卡四卡 | 91视频首页 | 成人做爰100 | 日韩av一区二区三区四区 | 免费久久网站 | 国产污片在线观看 | 日韩亚洲在线 | 爆操少妇 | 好吊操av| 2021狠狠操 | 成年在线观看 | www.日韩av | 亚洲国产精品毛片av不卡在线 | 欧美色第一页 | 91蜜桃臀久久一区二区 | 色婷婷av一区二区三区麻豆综合 | 黄色片aa| 中文字幕+乱码+中文字幕一区 | 国产一级爱c视频 | 免费黄色av网站 | 国内自拍偷拍网 | 亚洲天堂手机 | 毛片av网址| 国产精品久久久久久亚洲 | 国产成人精品一区二区三区福利 | 制服丝袜第二页 | 久久成人18免费观看 | 蜜桃成熟时李丽珍国语 | 中文字幕不卡 | 一区二区三区四区亚洲 | 免费看91的网站 | 黑人精品无码一区二区三区AV | 欧美成人精品一区二区三区在线看 | 色欧美综合 | 亚洲乱视频 | 精品动漫一区二区三区的观看方式 | 日本精品区 | 中文字幕精品一区久久久久 | 韩国视频一区 | 福利电影一区二区三区 | 日韩欧美一区二区免费 | 欧美黄色一级视频 | 天天精品 | 亚洲免费成人网 | 国产又粗又黄又爽视频 | 亚洲成人一区二区 | 日本色呦呦 | 激情四射av | japansexxxxhd医生| 色婷婷基地 | 中国二级毛片 | 污网站免费在线 | 国产片淫乱18一级毛片动态图 | 男女超爽视频免费播放 | 操你啦在线视频 | 中文字幕在线免费看线人 | 偷拍视频一区 | 麻豆av免费 | 2018av| 公车乳尖揉捏酥软呻吟 | 黄色录像一级大片 | 亚洲yy | 一女双乳被两男吸视频 | 超碰夜夜 | 好看的中文字幕 | 国产999在线 | 日韩成人av毛片 | 日韩新片王网 | 另类图片亚洲色图 | 男人和女人日批视频 | 无码日韩精品视频 | 欧美人妻一区二区三区 | 中文字幕丰满乱子伦无码专区 | 久久久久99人妻一区二区三区 | 欧美一区二区在线看 | 福利在线一区二区 | 亚洲二区在线播放视频 | 淫僧荡尼巨乳(h)小说 | 欧洲一区二区三区四区 |