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();

           分开写可以,是不是很奇怪,或许是我编译工具问题吧,在此记录一下问题,希望是我个人问题,如有问题请留言






评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值