SharedPreferences真的是非常好用,尤其是数据少的时候,而且用起来代码很少,但是今天用的时候犯了个低级错误,找了半天,所以重新理一遍
SharedPreferences能够存储键值对,但是注意只可以存Java基本类型的数据. 一般用来存是否为第一次进应用,或者是否已登录,草稿之类
SharedPreferences的使用非常简单,一种是直接使用系统默认SharedPreferences,另一种是自己创建一个SharedPreferences文件 .两者的区别是系统的默认SharedPreferences是默认当前的页面的SharedPreferences文件,别的页面访问不到(我不会) ,而自己创建的SharedPreferences文件因为文件名是自己起的,所以在整个app中都可以访问到 .
SharedPreferences sharedPreferences=getSharedPreferences("welcome",MODE_PRIVATE);
这个是建立或者获取自己的SP文件,使用的方法是getSharedPreferences(); 第一个参数是文件名(自己随便起) 第二个参数是访问权限 一般选MODE_PRIVATE(本应用用)
这个是建立或获取系统默认的SP文件,使用的方法是getPreferences(); 只有一个参数是权限 ,也选本应用使用, 这种创建出来一般文件名是类名SharedPreferences sharedPreferences=getPreferences(MODE_PRIVATE);
当我们有了SharedPreferences 这个文件我们其实已经可以使用SharedPreferences了,我们可以用它来获取文件中的键值对
sharedPreferences.getBoolean("iswelcome",false)这里"iswelcome"是文件中键值对的key ,我与之对应存的是布尔类型 ,所以第二个参数是我们没有这个键值对的时候我们获取的值,也是布尔类型 .
这个使用方法不管系统默认SP还是自己的Sp都是通用的 ,准确来说 ,SP的系统默认文件和自己建的文件 使用上除了在SharedPreferences 的创建上 其他使用都是一样的