/SharedPreferences/res/layout/activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/musicstartshow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/music_change" />
</RelativeLayout>
/SharedPreferences/src/cn/edu/bzu/sharedpreferences/activity/MainActivity.java
package cn.edu.bzu.sharedpreferences.activity;
import cn.edu.bzu.sharedpreferences.model.MIDIPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.view.KeyEvent;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private MIDIPlayer mMIDIPayer=null;
private boolean mbMusic=false;
private TextView mTextView=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView=(TextView) this.findViewById(R.id.musicstartshow);
mMIDIPayer=new MIDIPlayer(this);
/*装载数据*/
//取得活动的Preferences对象
SharedPreferences settings=getPreferences(Activity.MODE_PRIVATE);
//取得值
mbMusic=settings.getBoolean("bmusic", false);
if(mbMusic)
{
mTextView.setText("当前音乐状态:开");
mbMusic=true;
mMIDIPayer.PlayMusic();
}
else
{
mTextView.setText("当前音乐状态:关");
}
}
public boolean onKeyUp(int keyCode,KeyEvent event)
{
switch(keyCode)
{
case KeyEvent.KEYCODE_DPAD_UP:
mTextView.setText("当前音乐状态:开");
mbMusic=true;
mMIDIPayer.PlayMusic();
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
mTextView.setText("当前音乐状态:关");
mbMusic=false;
mMIDIPayer.FreeMusic();
break;
}
return true;
}
public boolean onKeyDown(int keyCode,KeyEvent event)
{
if(keyCode==KeyEvent.KEYCODE_BACK)
{
/*这里我们在退出应用程序时保存数据*/
//取得活动的preferences对象
SharedPreferences uiState=getPreferences(0);
//取得编辑对象
SharedPreferences.Editor editor=uiState.edit();
//添加值
editor.putBoolean("bmusic", mbMusic);
//提交保存
editor.commit();
if(mbMusic)
{
mMIDIPayer.FreeMusic();
}
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
/SharedPreferences/src/cn/edu/bzu/sharedpreferences/model/MIDIPlayer.java
package cn.edu.bzu.sharedpreferences.model;
import java.io.IOException;
import cn.edu.bzu.sharedpreferences.activity.R;
import android.content.Context;
import android.media.MediaPlayer;
public class MIDIPlayer {
public MediaPlayer PlayerMusic=null;
private Context mContext=null;
public MIDIPlayer(Context context){
mContext=context;
}
/*播放音乐*/
public void PlayMusic() {
// TODO Auto-generated method stub
/*装载资源中的音乐*/
PlayerMusic=MediaPlayer.create(mContext,R.raw.start);
/*设置是否循环*/
PlayerMusic.setLooping(true);
try{
PlayerMusic.prepare();
}catch(IllegalStateException e){
e.printStackTrace();
}catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
PlayerMusic.start();
}
/*停止并释放音乐*/
public void FreeMusic() {
// TODO Auto-generated method stub
if(PlayerMusic!=null){
PlayerMusic.stop();
PlayerMusic.release();
}
}
}