日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

【Android Developers Training】 24. 保存鍵值

系統(tǒng) 3046 0

注:本文翻譯自Google官方的Android Developers Training文檔,譯者技術(shù)一般,由于喜愛安卓而產(chǎn)生了翻譯的念頭,純屬個(gè)人興趣愛好。

原文鏈接: http://developer.android.com/training/basics/data-storage/shared-preferences.html


如果你有一些希望存儲(chǔ)的相對(duì)較小的鍵值對(duì)數(shù)據(jù)集,你應(yīng)該使用 SharedPreferences 的APIs。一個(gè) SharedPreferences 對(duì)象指向一個(gè)包含鍵值對(duì)的文件,同時(shí)它還提供了一些簡便的方法來支持寫和讀。每個(gè) SharedPreferences 文件由框架管理并且可以規(guī)定是私有的還是共享的。

這節(jié)課將會(huì)介紹如何使用 SharedPreferences APIs來存儲(chǔ)和恢復(fù)簡單的數(shù)據(jù)。

Note:

SharedPreferences 的API只能用來讀寫鍵值對(duì),不要將它與 Preference 的APIs搞混了,后者被用來根據(jù)你的應(yīng)用設(shè)置幫助你構(gòu)建一個(gè)UI(雖然他們使用 SharedPreferences 作為它們的實(shí)現(xiàn)來保存應(yīng)用的配置)更多關(guān)于使用 Preference 的信息,閱讀: Settings

?

一). 獲取一個(gè)SharedPreferences句柄

你可以通過下面方法的任意一個(gè)來創(chuàng)建一個(gè)新的shared preferences文件或者獲得一個(gè)已經(jīng)存在的文件:

  • getSharedPreferences() :使用該方法如果你需要多個(gè)以名字作為標(biāo)識(shí)的 shared preferences文件,名字是方法的第一個(gè)參數(shù)。你可以在你應(yīng)用中的任何 Context 下調(diào)用這個(gè)方法。
  • getPreferences() :在一個(gè) Activity 使用該方法如果你在這個(gè)activity中僅需要一個(gè) shared preferences文件。因?yàn)檫@將獲得一個(gè)屬于該activity的默認(rèn) shared preferences文件,所以你不需要提供一個(gè)名稱。

例如,下面的代碼在一個(gè)fragment中執(zhí)行。它獲得一個(gè) shared preferences文件,該文件的名字由資源字符串“ R.string.preference_file_key ”所指定,并且使用私有模式打開,這樣這個(gè)文件就只會(huì)被你的應(yīng)用所訪問:

      Context context =
      
         getActivity();

SharedPreferences sharedPref 
      
      =
      
         context.getSharedPreferences(

        getString(R.string.preference_file_key), Context.MODE_PRIVATE);
      
    

當(dāng)為 shared preferences文件起名時(shí),你應(yīng)該使用一個(gè)獨(dú)有的可以識(shí)別出你的應(yīng)用的名字,比如:“ com.example.myapp.PREFERENCE_FILE_KEY ”。

當(dāng)然,如果你只想要在activity中使用一個(gè) shared preferences文件,你可以使用 getPreferences() 方法:

      SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
    

Caution:

如果你通過 MODE_WORLD_READABLE 或者 MODE_WORLD_WRITEABLE 創(chuàng)建了一個(gè) shared preferences文件,那么任何知道這個(gè)文件名的其他應(yīng)用都可以獲取你的數(shù)據(jù)。

?

二). 寫入SharedPreferences

為了寫入一個(gè) shared preferences文件,通過在你的 SharedPreferences 上調(diào)用 edit() 來創(chuàng)建一個(gè) SharedPreferences.Editor 。

將你希望寫入的鍵和值通過響應(yīng)的方法寫入,如: putInt() putString() 等。之后調(diào)用 commit() 來保存變更:

      SharedPreferences sharedPref =
      
         getActivity().getPreferences(Context.MODE_PRIVATE);

SharedPreferences.Editor editor 
      
      =
      
         sharedPref.edit();

editor.putInt(getString(R.string.saved_high_score), newHighScore);

editor.commit();
      
    

?

三). 讀取SharedPreferences

為了從 shared preferences文件中獲取數(shù)據(jù),調(diào)用響應(yīng)的方法,比如: getInt() getString() 等,提供值所對(duì)應(yīng)的鍵,還有一個(gè)可選的默認(rèn)值,在鍵不存在時(shí)會(huì)返回 該值:

      SharedPreferences sharedPref =
      
         getActivity().getPreferences(Context.MODE_PRIVATE);


      
      
        int
      
       defaultValue =
      
         getResources().getInteger(R.string.saved_high_score_default);


      
      
        long
      
       highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);
    

【Android Developers Training】 24. 保存鍵值對(duì)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦?。。?/p>

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 邵武市| 沙雅县| 余庆县| 高邑县| 句容市| 星座| 文安县| 米林县| 宜川县| 泰兴市| 浪卡子县| 富锦市| 都江堰市| 澄迈县| 斗六市| 高要市| 贵州省| 贡觉县| 家居| 体育| 尼勒克县| 济南市| 灌阳县| 乌苏市| 永靖县| 宜阳县| 丽水市| 开江县| 凤庆县| 仁怀市| 青岛市| 清苑县| 应用必备| 库伦旗| 临潭县| 舞钢市| 彰化县| 茌平县| 彭水| 樟树市| 临猗县|