Shared Preference保存设置实例

shared preferrence是用来保存应用程序设置数据的一种保存方式,是一种key-value 的数据结构:

代码:

public class Activity01 extends Activity
{

	private MIDIPlayer	mMIDIPlayer	= null;
	private boolean		mbMusic		= false;
	private TextView	mTextView	= null;


	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		mTextView = (TextView) this.findViewById(R.id.TextView01);

		mMIDIPlayer = new MIDIPlayer(this);

		/* 装载数据 */
		// 取得活动的preferences对象.
		SharedPreferences settings = getPreferences(Activity.MODE_PRIVATE);

		// 取得值,名字为"bmusic"如果不存在返回false,所以第一次运行的时候因为没有bumusic
		// 所以是关的。
		mbMusic = settings.getBoolean("bmusic", false);

		if (mbMusic==true)
		{
			mTextView.setText("当前音乐状态:开");
			//mbMusic = true;
			mMIDIPlayer.PlayMusic();
		}
		else
		{
			mTextView.setText("当前音乐状态:关");
		}

	}


	public boolean onKeyUp(int keyCode, KeyEvent event)
	{
		switch (keyCode)
		{
			case KeyEvent.KEYCODE_DPAD_UP:
				//如果已经在播放,就不再开始新的音乐
				if(mbMusic) {
					
				}
				else {
					mTextView.setText("当前音乐状态:开");
					mbMusic = true;
					mMIDIPlayer.PlayMusic();
				}
				
				break;
			case KeyEvent.KEYCODE_DPAD_DOWN:
				mTextView.setText("当前音乐状态:关");
				mbMusic = false;
				//关闭音乐
				mMIDIPlayer.FreeMusic();
				break;
		}
		return true;
	}


	public boolean onKeyDown(int keyCode, KeyEvent event)
	{
		if (keyCode == KeyEvent.KEYCODE_BACK)
		{
			/* 这里我们在退出应用程序时保存数据 */
			// 取得活动的preferences对象.
			SharedPreferences uiState = getPreferences(0);

			// 取得编辑对象,必须通过editor编辑文件
			SharedPreferences.Editor editor = uiState.edit();

			// 添加值
			editor.putBoolean("bmusic", mbMusic);
			
			// 提交保存
			editor.commit();
			//如果还在播放,则释放音乐
			if ( mbMusic )
			{
				mMIDIPlayer.FreeMusic();
			}
			this.finish();
			return true;
		}
		return super.onKeyDown(keyCode, event);
	}
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值