Android开发——SharedPreferences存储(附:android 的四种枚举Context)

  SharedPreferences实现了数据存储,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。

  其存储位置在/data/data/<包名>/shared_prefs目录下。我们可以进入DDMS模式,然后在File Explorer中展开到/data/data/<package name>/shared_prefs下就可以看见自己建立的文件(XML类型)了。

  SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。

  步骤:

  (1)获取SharedPreferences对象
  (2)利用edit()方法获取Editor对象。
  (3)通过Editor对象存储key-value键值对数据。
  (4)通过commit()方法提交数据。

然后我们把白天出去浪的简单介绍存储起来。在这之前我们来介绍另一个内容——android 的四种枚举Context

		Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND

		Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。

		Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。

		MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;

		MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
我们后面用到了这个呢。

activity_main.xml

假装有代码,哈哈,放两个按钮通过Onclick触发就好。一个保存一个读取。

MainActivity.java

package com.example.sharedpreferences;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	public void btn1(View view) {
		// TODO Auto-generated method stub
		
		SharedPreferences shared=MainActivity.this.getSharedPreferences("a", Activity.MODE_PRIVATE);
		SharedPreferences.Editor editor=shared.edit();
		editor.putString("Date", "Christmas Eve");
		editor.putString("Activity", "Climbing MeiLing mountains");
		editor.putString("Member", "I and my team");
		editor.commit();
		Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
	}
	public void btn2(View view) {
		// TODO Auto-generated method stub

		SharedPreferences sharedPreferences=MainActivity.this.getSharedPreferences("a", Activity.MODE_PRIVATE);
		String date=sharedPreferences.getString("Date", "");
		String activity=sharedPreferences.getString("Activity", "");
		String member=sharedPreferences.getString("Member", "");
		String info="游玩日期:"+date+"\n游玩活动:"+activity+"\n成员:"+member;
		Toast.makeText(getApplicationContext(), info, Toast.LENGTH_SHORT).show();
	}
}
平安夜快乐呦,不过到了圣诞节了呢,过了12点。有什么关系,洋节日和我们并没有多大的关系。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游语

对你有帮助,可以请我喝杯奶哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值