零、难过的我
做了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
五、是否需要权限
不需要
网友评论