SharedPreferences共享提交不了


首先說一下getSharedPreferences()兩個參數的意思:


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

           name爲本組件的配置文件名( 自己定義,也就是一個文件名)
           mode爲操作模式,默認的模式爲0或MODE_PRIVATE,還可以使用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE

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


其次說一下它的提交方式:

    

          1.apply沒有返回值而commit返回boolean表明修改是否提交成功

          2.apply是將修改數據原子提交到內存, 而後異步真正提交到硬件磁盤, 而commit是同步的提交到硬件磁盤

          3.apply方法不會提示任何失敗的提示
 

           apply的效率高一些,如果沒有必要確認是否提交成功建議使用apply(本人幾乎沒用到)。


那麼現在說一下問題:

      

        問題,sharedPreferences.edit().commit(); 提交不了數據


        我的問題寫法:

              share = getSharedPreferences("curuser", MODE_PRIVATE);   

              sharedpreferences.edit().commit();這樣子寫看似只是個簡寫,確實很奇怪,數據就是提交不了

 

        可以提交的寫法:

           share = getSharedPreferences("curuser", MODE_PRIVATE);

           Editor editor = share.edit(); 
           editor.putInt("versionCode", versionCode);
           editor.commit();

           分開寫可以,是不是很奇怪,或許是我編譯工具問題吧,在此記錄一下問題,希望是我個人問題,如有問題請留言






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章