多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > SharedPreferences

SharedPreferences

來源:程序員人生   發布時間:2015-03-13 08:12:13 閱讀次數:3462次

SharedPreferences

  SharedPreferences:利用程序有時需要保存少許的數據,如各種配置信息(聲音的開關,震動效果的開關等)的存儲,這個時候啟用數據庫有點夸大,安卓提供了SharedPreferences進行保存。


  SharedPreferences保存的數據主要是類似于key-value鍵值對。其提供的主要接口是負責讀取利用程序的Preferences數據,經常使用方法有以下:
  1. boolean contains(String key):判斷SharedPreferences是不是包括特定的key數據。
  2. abstract Map<String,?> getAll():獲得SharedPreferences數據里全部的ket-value對。
  3. boolean getXxx(String key, xxx defValue):獲得SharedPreferences數據里指定的key對應的value.如果key不存在,則返回默許值defValue.其中的xxx可以是boolean,float,int,long,String等各種基本類型的值。

  SharedPreferences依托內部的接口,才能夠寫入數據,調用edit()方法便可獲得所對應的Editor對象。Editor提供了下面幾種方法來向SharedPreferences寫入數據:

  1. SharedPreferences.Editor clear(): 清空SharedPreferences里所有數據。
  2. ShraedPreferences.Editor putXxx(String key, Xxx value): 向SharedPreferences存入指定了key的數據value,value的類型可以是boolean,float,int,long,String等。
  3. SharedPreferences.Editor remove(String key): 刪除 Sharedpreferences里指定key對應的數據。
  4. boolean commit(): 當Editor編輯完成后,調用該方法提交修改。


  ShraedPreferences本身是1個接口,程序沒法直接創建SharedPreferences實例,只能通過Context提供的getShraedPreferences(String name, int mode)方法來獲得SharedPreferences實例。關于第2個參數mode有1下3種值:
  1. Context.MODE_PRIVATE: 指定該SharedPreferences數據只能被本利用讀寫。
  2. Context.MODE_WORLD_READABLE: 指定該SharedPreferences數據能被其他利用程序讀,但是不能寫入。
  3. Context.MODE_WORLD_WRITABLE: ShraedPreferences數據能被其他利用讀寫。

下面用1個小例子來演示下如何進行讀寫SharedPreferences數據:
public class MainActivity extends Activity { private Button write; private Button read; private SharedPreferences preferences; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); write = (Button) findViewById(R.id.write); read = (Button) findViewById(R.id.read); preferences = getSharedPreferences("count",MODE_PRIVATE); //讀取SharedsPreferences里的count數據 int count = preferences.getInt("count",0); Toast.makeText(this,"程序之前被使用了" + count + "次。 ", Toast.LENGTH_LONG).show(); //獲得到SharedPreferences的editor,用來進行寫入數據 SharedPreferences.Editor editor = preferences.edit(); //存入數據 editor.putInt("count",++count); //提交修改 editor.commit(); } }


  上面這個例子只是在本利用里面使用ShraedPreferences,如果要讀寫其他利用的ShraedPreferences,首先要被訪問的利用在創建的時候指定了相應的訪問權限,也就是上面提到的3種權限。


  為了讀取到其他利用程序的SharedPreferences數據,可以依照下面3個步驟來進行:


  先創建其他利用對應的Context,例如:
Context context = createPackageContext("com.dada.example",Context.CONTEXT_IGNORE_SECURITY);

  上面的com.dada.example就是利用程序的包名,通過這個我們可以找到相應的利用程序。


  調用獲得到的COntext的getShraedPreferences(String name, int mode)便可獲得到相應的ShraedPreferences對象。


  再根據SharedPreferences提供的edit()方法來獲得到響應的Editor,便可向ShraedPreferences中寫入數據了。
現在在剛才已有的基礎上,再創建1個利用程序,讀取上1個利用的ShraedPreferneces中的數據。
public class MainActivity extends ActionBarActivity { private Button write; private Button read; private int count; private SharedPreferences preferences; private SharedPreferences.Editor editor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); write = (Button) findViewById(R.id.write); read = (Button) findViewById(R.id.read); Context myApplication = null; try{ myApplication = createPackageContext("com.example.pc.myapplication",Context.CONTEXT_IGNORE_SECURITY); preferences = myApplication.getSharedPreferences("count",Context.MODE_WORLD_WRITEABLE); editor = preferences.edit(); } catch (Exception e){ e.printStackTrace(); } write.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { editor.putInt("count",++count); } }); read.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { count = preferences.getInt("count",0); Toast.makeText(getApplicationContext(),"count的值為" + count,Toast.LENGTH_LONG).show(); } }); } }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: a网站在线观看免费网站 | 亚洲精品亚洲人成在线播放 | jizz日本在线播放 | 欧美图片自拍偷拍 | 一级欧美一级日韩 | 国产一区二区三区免费看 | 性欧美巨大 | 久久精品这里是免费国产 | 欧美一级毛片无遮挡内谢 | 搞av网 | 国产精品天天看 | 一二三四视频在线观看免费高清 | 国产成人影院一区二区 | 美国一级毛片完整高清 | 精品看片 | 蜜中蜜3动漫无修在线播放 免费 黄 色 人成 视频 | 国产中文字幕在线视频 | 国产亚洲精品资源在线26u | 欧美 国产 小说 另类 | 国产在线精品一区二区中文 | 日韩欧美国产精品第一页不卡 | 欧美大片天天免费看视频 | 天天综合亚洲国产色 | 久久久久久久综合日本亚洲 | 亚洲乱码一二三四区麻豆 | 在线播放一区二区三区 | 日本免费人做人一区在线观看 | 毛片毛片毛片毛片出来毛片 | 国产免费久久精品44 | 欧美日韩不卡中文字幕在线 | 亚洲欧美片| 欧式午夜理伦三级在线观看 | 欧美aa在线观看 | 男女激情视频软件 | 亚洲麻豆视频 | 爱爱欧美在线观看视频 | 欧美激情在线视频播放 | 川上优最新中文字幕不卡 | 日本一级级特黄特色大片 | 亚洲小说图片 | 成人国产免费 |