Adnroid持久化数据存储SharedPreferences

零、难过的我

做了7年iOS,3年的app,4年的游戏SDK,受不了某些大厂的内卷,找了个离家近的小公司,可他们让我做iOS+Android,我哪会啊!可是不努力就被吸,所以老老实实来学习了。

第一个Android项目,就是之前的大兄弟写的登录sdk,虽然我不是很懂安卓,但我也知道,不会有人仅仅存用户名和密码,就用txt文件吧,还存到SD卡,这不是胡闹吗。于是查找有没有类似iOS中NSUserDefaults的存储方式,结果发现SharedPreferences还是比较相近的。就直接查找了一下自己几个关注的点

一、数据什么时候被删除

1、app删除时

2、清除应用程序数据时


二、如何写入数据

SharedPreferences sharedPreferences = context.getSharedPreferences("SharedPreferences",Context.MODE_PRIVATE);

SharedPreferences.Editor editor = sharedPreferences.edit();

editor.putString("key","value");

editor.commit();

参数理解:

context ---上下文,因为我是做游戏SDK的,因此这里的上下文是由游戏获取传给SDK

字符串"SharedPreferences" --- 实际上SharedPreferences是生成一个xml文件,其中字符串就是该xml文件的文件名,即创建了一个文件SharedPreferences.xml

MODE_PRIVATE --- 访问权限和文件的写入格式。具体如下

MODE_PRIVATE:默认操作模式,代表文件是私有数据,只能被应用本身访问,写入时写入内容会覆盖原文件内容

MODE_APPEND:写入时采用追加模式

MODE_WORLD_READABLE:文件可以被其他app访问,获取可读权限

MODE_WORLD_READABLE:文件可以被其他app访问,获取可写权限


key --- 要保存的数据key

value --- 要保存的数据value


三、如何读取数据

SharedPreferences sharedPreferences = context.getSharedPreferences("SharedPreferences",Context.MODE_PRIVATE);

String value = sharedPreferences.getString(key,"");

参数理解:

context ---上下文,因为我是做游戏SDK的,因此这里的上下文是由游戏获取传给SDK

字符串"SharedPreferences" --- 实际上SharedPreferences是生成一个xml文件,其中字符串就是该xml文件的文件名,即创建了一个文件SharedPreferences.xml

MODE_PRIVATE --- 访问权限和文件的写入格式。

key --- 要读取的数据key

key旁边的空字符串 --- 没有数据时,返回的默认值,这里默认为空字符串


四、如何删除数据

SharedPreferences sharedPreferences = context.getSharedPreferences("SharedPreferences",Context.MODE_PRIVATE);

SharedPreferences.Editor editor = sharedPreferences.edit();

editor.remove(key);

参数理解:

context ---上下文,因为我是做游戏SDK的,因此这里的上下文是由游戏获取传给SDK

字符串"SharedPreferences" --- 实际上SharedPreferences是生成一个xml文件,其中字符串就是该xml文件的文件名,即创建了一个文件SharedPreferences.xml

MODE_PRIVATE --- 访问权限和文件的写入格式。

key --- 要读取的数据key


五、是否需要权限

不需要

你可能感兴趣的:(Adnroid持久化数据存储SharedPreferences)