相信很多app里边都会用到保存用户的一些设置信息,这些设置信息如果不保存的话再次进入程序就会恢复为初始状态,可能刚入门的小猿们会比较疑惑,这时候我们会用到共享参数,也就是所谓的SharedPreferences。
首先,SharedPreferences是Android 的存储方式的一种,是用来存储轻量级的一些信息,比如账号,密码,或者个人设置之类的,是以xml的文件形式存在的,既然是存储装置,那就提供了存和取。
下边就以一个判断用户是否为第一次进入程序这个例子来说明一下,
SharedPreferences pre =
getSharedPreferences("lyrent",Context.MODE_PRIVATE);
boolean isfirst=pre.getBoolean("isfrist", true);
这个是进入程序的时候首先从共享参数中获取一下信息,
getSharedPreferences("lyrent",Context.MODE_PRIVATE);第一个参数是自己自定义的一个名字,当然这是第一次进来的时候直接获取的,本地肯定没有这个文件,所以说肯定获取不到,pre.getBoolean("isfrist", true);这个第一个参数是lyrent 这个文件里边的一个元素,因为 第一次进入没有lyrent这个文件,所以,getBoolean("",true),这个方法获取的肯定是没有东西的,所以第二个参数就是设置一个默认值,也就是说获取不到数据的时候,默认值为true。也就是说这个是第一次进入程序,当然你也可以设置为false;
</pre><pre name="code" class="java">
</pre><pre name="code" class="java">上边的是获取信息,下边说一下存储信息,
</pre><pre name="code" class="java">
</pre><pre name="code" class="java">SharedPreferences pre =
getSharedPreferences("lyrent",Context.MODE_PRIVATE);
Editor editor = pre.edit();
editor.putBoolean("isfrist", false);
editor.commit();
</pre><pre name="code" class="java">
当然获取信息跟存储信息是对应的,因为第一次进入没有lyrent这个文件,这里我们存储的时候系统会自动创建这个文件的,
editor.putBoolean("isfrist", false);这个就不解释了,是往里边放置信息的,设置完信息别忘了commit();
</pre><pre name="code" class="java">
这就是存储信息,当然,当你下次再进入的时候,第一次获取信息的时候,
pre.getBoolean("isfrist", true);
这个值就会变成false了,因为,
editor.putBoolean("isfrist", false);
这里我们已经重新设置信息了。
</pre><pre name="code" class="java">存储获取信息的时候,一定要记得,前后参数的名字要一样。