Shared Preference保存设置实例

来源:互联网 发布:序列密码算法 编辑:程序博客网 时间:2024/06/06 05:38

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

代码:

public class Activity01 extends Activity{private MIDIPlayermMIDIPlayer= null;private booleanmbMusic= false;private TextViewmTextView= null;/** Called when the activity is first created. */@Overridepublic 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);}}