在activity中:
public class MainActivity extends Activity {
private SharedPreferences pref;
private SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 无title
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
//第一个参数:文件名,没有则新建。第二个参数:写入模式-覆盖
pref = getSharedPreferences("second", MODE_PRIVATE);
//获取SharedPreferences.Editor对象
editor = pref.edit();
//保存
//获取输入的账号内容
String account = "帐号";
//获取输入的密码内容
String password = "密码";
//存储用户名和密码
editor.putString("account", account);
editor.putString("password", password);
//提交
editor.commit();
Toast.makeText(getApplicationContext(), "保存成功"+account+"密码"+password, Toast.LENGTH_SHORT).show();
//取出
//读取内容
String outaccount = pref.getString("account", "this is default value");
String outpassword = pref.getString("password", "this is default value");
//设置到响应位置
Toast.makeText(getApplicationContext(), "恢复成功"+outaccount+"密码"+outpassword, Toast.LENGTH_SHORT).show();
}
}
下面说下Fragment中需要更改的地方
//持久化存储数据
pref = this.getActivity().getSharedPreferences("second", Context.MODE_PRIVATE);
//获取SharedPreferences.Editor对象
editor = pref.edit();
需要注意的前边先要获取activity,然后第二个参数需要改一下。存储和读取数据和activity中没有差别,
需要注意的是这些操作要返回到主线程中做。