SharedPreferences
(1)、在进行跨页面数据传输时可使用SharedPreferences进行传输数据
介绍:
SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。
SharedPreferences sp = this.getSharedPreferences("config", MODE_PRIVATE)其中"config"文件名(可以自己命名),MODE_PRIVATE为文件的权限(这里是私有文件);
存储数据:
Editor editor = sp.edit()获得编辑这个文件的编辑器;
editor.putString("username", str_username);利用编辑器编辑内容;
editor.commit()调用这个方法提交保存数据。
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中,可以使用Context.MODE_APPEND。
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
提取数据:
SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE)
其中"config"文件名,MODE_PRIVATE为文件的权限;
String str_username = sp.getString("username", "")和String str_password = sp.getString("password", "")都是取出对应的数据。
使用步骤:
用来保存用户的配置信息和简单的数据步骤:
1.?声明 SharedPreferences sp;?
2.?初始化 sp = this.getSharedPreferences("文件名", 0);//0代表的是私有
3.?获取sp的编辑器 Editor editor = sp.edit();
4.?存储数据 editer.putString() putBoolean putLong
5.?最后一步重要,一定要记得commit() 或applay()数据才被保存
Ps:commit()方法和applay()方法的区别:1).commit有返回值是一个boolean类型。
apply没有返回值,返回的是void。
commit是同步存储,所以必须拿到返回值,代码才能往下走,否则会阻塞在这。
apply是异步存储,直接丢在了一个线程中执行,我们不必等待他的返回结果。