Android中SharedPreference轻量级存储器

它是一个完全独立的类,也是Context抽象类的一个元素,context可以通过方法得到SharedPreference

context.getSharedPreferences(String name,int mode);即使在不同的地方,传入同样的name,也会得到相同的SharedPreferences。

name 即为待操作的文件,若是不存在,则会帮你创建一个。

mode: 默认为0 或者写MODE_PRIVATE , 还有MODE_WORLD_READABLE,MODE_WORLD_WRITEABLE。

要修改文件则是必须使用 SharedPrefernces.Editor 

SharedPreference只能储存基本数据类型(int  double  float boolean),和String,Set<String> 类型。

通过Editor可以调用一系列put方法 来存值。然后commit();提交。

getXXX(XXX key, XXX defvalue);表示通过key来获取某值,若是没有,则返回后者,作为默认值。


举个例子:存储登录信息。

public class MainActivity extends Activity {
	private EditText edit;
	private EditText edit2;
	private CheckBox box;
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edit=(EditText) findViewById(R.id.ed_username);
        edit2=(EditText) findViewById(R.id.ed_password);
        box=(CheckBox) findViewById(R.id.cb_isSave);
        Button bt=(Button) findViewById(R.id.bt_login);
        SharedPreferences pre=this.getSharedPreferences("login", MODE_PRIVATE);
        box.setChecked(pre.getBoolean("check",false));
        edit.setText(pre.getString("username",""));
        edit2.setText(pre.getString("password", ""));
        
        bt.setOnClickListener(new OnClickListener(){
			@Override
			public void onClick(View v) {
				Editor editor;
				boolean save=box.isChecked();
				if(save){
					SharedPreferences prefer = MainActivity.this.getSharedPreferences("login", MODE_PRIVATE);
				    editor = prefer.edit();
				    editor.putBoolean("check",box.isChecked());
					editor.putString("username",edit.getText().toString().trim());
					editor.putString("password",edit2.getText().toString().trim());
					if(editor.commit())
						Toast.makeText(MainActivity.this, "数据储存成功", Toast.LENGTH_SHORT).show();
					else
						Toast.makeText(MainActivity.this, "数据储存失败", Toast.LENGTH_SHORT).show();
				}else{
					Toast.makeText(MainActivity.this, "数据没有储存", Toast.LENGTH_SHORT).show();
				}
				
			}
        });
        
    }
    
}
运行完程序,则会在data/data/包名/shared_prefs   新建一个文件夹,里面有一个xml文件
他是通过xml文件来保存信息的。

总结思路:

获得对象     SharedPreference preference = context.getSharedPreferences  ->  getXXX(key ,defVal)  

保存对象     Editor editor=preference.edit(); ->   edit.putXX(key ,value);  -> commit() 返回true保存成功,否则保存失败。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值