Android之SharePreferences的使用

SharedPreferences存储数据

sharedPreferences是使用键值对的方式来存储数据的。存储一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键把相应的值取出来。而且sharedPreferences还支持多种不用的数据类型存储。

Android提供三种方法用于得到sharedPreferences对象。

1、Context类中getSharedPreferences(String name, int mode)方法

此方法接收两个参数

name参数是指定SharedPreferences文件的名称,如果指定的文件不存在则会创建一个,文件是存放在应用的data/data/<packagename>/shared_pref/目录下的

mode参数是指定操作模式,主要有两种模式可以选择,MODE_PRIVATE和MODE_MULTI_PROCESS。MODE_PRIVATE是默认的操作模式,传入0的效果也是一样的,表示只有当前应用程序才可以对这个sharedPreferences文件进行读写MODE_MULTI_PROCESS则一般是用于多个进程中对同一个sharedPreferences文件进行读写。

2、Activity类中的getPreference()方法

跟第一个方法类似,不过它只接收一个参数,因为使用这个方法会自动将当前活动的类名作为sharedPreferences文件的文件名。

3、PreferenceManager类中的getDefaultSharedPreferences()方法

这是一个静态方法,它接收一个Context参数,并自动使用给当前应用程序的包名作为前缀来命名sharedPreferences文件的文件名

得到了SharedPreferences对象之后,就可以开始向SharedPreferences文件中存储数据了,主要分为三步实现:

1、调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象。

2、向SharedPreferences.Editor对象中添加数据,比如添加一个布尔类型就可以使用putBoolean方法。

3、调用commit方法将添加的数据提交,从而完成数据存储操作。

例子如下:

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//以包名和类名的形式创建
		//SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
		//以自定义的的形式创建
		SharedPreferences pref = getSharedPreferences("myprf", MODE_PRIVATE);
		//启动编辑
		Editor editor = pref.edit();
		editor.putString("name", "张三");
		editor.putInt("age", 30);
		editor.putLong("time", System.currentTimeMillis());
		editor.putBoolean("default", true);
		//每次编辑完都要调用commit数据才生效
		editor.commit();
		//editor.remove("default");
		//editor.commit();
		System.out.println(pref.getString("name", ""));
		System.out.println(pref.getInt("age", 0));
	}


}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值