亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【Android Developers Training】 24. 保存鍵值

系統 2939 0

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

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


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

這節課將會介紹如何使用 SharedPreferences APIs來存儲和恢復簡單的數據。

Note:

SharedPreferences 的API只能用來讀寫鍵值對,不要將它與 Preference 的APIs搞混了,后者被用來根據你的應用設置幫助你構建一個UI(雖然他們使用 SharedPreferences 作為它們的實現來保存應用的配置)更多關于使用 Preference 的信息,閱讀: Settings 。

?

一). 獲取一個SharedPreferences句柄

你可以通過下面方法的任意一個來創建一個新的shared preferences文件或者獲得一個已經存在的文件:

  • getSharedPreferences() :使用該方法如果你需要多個以名字作為標識的 shared preferences文件,名字是方法的第一個參數。你可以在你應用中的任何 Context 下調用這個方法。
  • getPreferences() :在一個 Activity 使用該方法如果你在這個activity中僅需要一個 shared preferences文件。因為這將獲得一個屬于該activity的默認 shared preferences文件,所以你不需要提供一個名稱。

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

      Context context =
      
         getActivity();

SharedPreferences sharedPref 
      
      =
      
         context.getSharedPreferences(

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

當為 shared preferences文件起名時,你應該使用一個獨有的可以識別出你的應用的名字,比如:“ com.example.myapp.PREFERENCE_FILE_KEY ”。

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

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

Caution:

如果你通過 MODE_WORLD_READABLE 或者 MODE_WORLD_WRITEABLE 創建了一個 shared preferences文件,那么任何知道這個文件名的其他應用都可以獲取你的數據。

?

二). 寫入SharedPreferences

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

將你希望寫入的鍵和值通過響應的方法寫入,如: putInt() putString() 等。之后調用 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文件中獲取數據,調用響應的方法,比如: getInt() getString() 等,提供值所對應的鍵,還有一個可選的默認值,在鍵不存在時會返回 該值:

      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. 保存鍵值對


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 男女车车好快的车车免费网站 | 久久这里只精品热免费99 | 亚洲天堂资源 | 欧美日本高清视频在线观看 | 亚洲美女在线视频 | 亚洲另类图片专区 | 伊人久久综合影院首页 | 夜间福利在线观看 | 日本二三区 | 欧美日韩国产成人综合在线 | 国产乱人伦av在线a 国产乱人伦精品一区二区 国产乱人伦偷精品视频不卡 | 四虎国产永久在线精品免费观看 | 久久性生活视频 | 欧美高清一区二区三区欧美 | 欧美日韩在线观看免费 | 亚洲综合a | 伊人久久精品线影院 | 四虎地址 | 2020国产免费久久精品99 | 国产成人亚洲精品一区二区在线看 | 91精品国产高清91久久久久久 | 成人午夜在线 | 激情影院在线观看 | 一本伊人| 国产亚洲精品一区久久 | 天天搞夜夜操 | 在线亚洲精品国产波多野结衣 | 国产区视频在线观看 | 久久桃花| 天天爽夜夜爽夜夜爽精品视频 | 久久伊人操 | 888奇米影视| 久久99热成人精品国产 | 国产成人精品区在线观看 | 久久综合一区二区三区 | 免费一级毛片在线播放欧美 | 国产精品久久久久尤物 | 欧美一级毛片一免费 | 亚洲狠狠婷婷综合久久久久图片 | 国产欧美亚洲另类第一页 | 美女一级毛片免费观看 |