Shared Preferences 类似于我们经常使用ini配置文件,用来保存应用程序的一些属性设置,在Android平台常用于存储较简单的参数设置。例如,保存上一次用户所做的修改或者自定义参数设定,当再次启动程序后依然保持原有的设置,类似于我们常用的eclipse配置文件。
如何使用Shared Preferences,我们可以通过下面的例子来了解:
package com.liyf.android.preferences;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MyPreferencesActivity extends Activity {
private MIDIPlayer mPlayer = null;
private boolean mbMusic = false;
private TextView mTextView = null;
private Button mPlayButton = null;
private Button mStopButton = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 初始化
mTextView = (TextView) findViewById(R.id.TextView01);
mPlayButton = (Button) findViewById(R.id.play);
mStopButton = (Button) findViewById(R.id.stop);
mPlayer = new MIDIPlayer(this);
// 装载数据,取得活动的Preferences对象
SharedPreferences settings = getPreferences(Activity.MODE_PRIVATE);
//从Preferences获取值
mbMusic = settings.getBoolean("bmusic", false);
if(mbMusic) {
mTextView.setText("当前音乐状态:开");
mbMusic = true;
mPlayer.playMusic();
} else {
mTextView.setText("当前音乐状态:关");
}
// 播放按钮事件
mPlayButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(mbMusic) // 如果已经是播放状态就返回,不是则播放音乐
{
return;
} else
{
mbMusic = true;
mPlayer.playMusic();
mTextView.setText("当前音乐状态:开");
}
}
});
mStopButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(!mbMusic)
{
return;
} else
{
mbMusic = false;
mPlayer.stopMusic();
mTextView.setText("当前音乐状态:关");
}
}
});
}
/**
* 按钮离开的事件,关闭程序时保留数据到Preferences
*/
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK)
{
// 得到SharedPreferences对象
SharedPreferences uiState = getPreferences(0);
// 取得修改的对象
SharedPreferences.Editor editor = uiState.edit();
// 写入值
editor.putBoolean("bmusic", mbMusic);
// 提交
editor.commit();
if(mbMusic)
{
mPlayer.stopMusic();
}
}
return super.onKeyUp(keyCode, event);
}
}
package com.liyf.android.preferences;
import java.io.IOException;
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() {
// 装载资源中的音乐
playerMusic = MediaPlayer.create(mContext, R.raw.start);
// 设置是否循环播放
playerMusic.setLooping(true);
try {
playerMusic.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
playerMusic.start();
}
/**
* 关闭音乐
*/
public void stopMusic() {
if(playerMusic != null) {
playerMusic.stop();
playerMusic.release();
}
}
}
显示效果:
演示以上例子,我们可以看到,每次退出应用程序后再打开,会保存退出前的状态。实例非常简单,所以也不作多的解释。
- 大小: 11.8 KB
- 大小: 11.6 KB
分享到:
相关推荐
Android 使用Shared Preferences进行数据存储-样例,演示如何使用 Shared Preferences 获得数据和保存数据、如何使用getPreferences方法创建文件的模式,以及如何使用getPreferences模拟用户参数设置、查看 ...
本资源将通过一个具体的例子来介绍如何使用SharedPreferences进行数据保存。 SharedPreferences通常用于存储应用的偏好设置,比如用户是否开启通知、界面布局选择等。它的优点在于简单易用,读写速度快,而且数据...
在Android开发中,数据存储是不可或缺的一部分,而Preferences则是Android提供的一种轻量级的数据存储机制,主要用于存储用户的一些偏好设置或者简单数据。Preferences通常用于保存应用程序中的键值对,类似于桌面...
在Android开发中,数据存储是不可或缺的一部分,尤其是在处理用户数据或者应用状态时。本文将深入探讨如何使用...通过学习和实践,你将能够更好地理解和掌握在Android中利用SharedPreferences保存List数据的技巧。
在深入探讨Android偏好设置(Preferences)之前,我们先简要回顾一下Android数据存储的基本概念及其提供的多种存储选项。根据具体的应用需求,开发者可以选择适合的存储方式来保存持久化数据,这些选项包括...
保存数据时,我们通常会创建一个SharedPreferences对象,然后调用编辑器(Editor)来设置键值对,最后提交更改。 ```java SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE); ...
在Android开发中,保存用户数据到手机内存是常见的需求,这涉及到数据持久化的问题。本文将详细介绍如何在Android系统中实现这一功能,主要探讨三种常用的数据存储方式:SharedPreferences、文件存储以及SQLite...
下面将详细介绍`SharedPreferences`的使用及其在保存数据中的作用。 **1. SharedPreferences的使用** 创建`SharedPreferences`对象通常通过以下两种方式: - `getSharedPreferences(String name, int mode)`:在...
// 保存数据 editor.putBoolean("isLoggedIn", true); editor.putString("username", "JohnDoe"); // 提交更改 editor.apply(); // 读取数据 boolean isLoggedIn = preferences.getBoolean("isLoggedIn", false); ...
在多种数据存储方式中,`SharedPreferences` 是一种轻量级且易于使用的机制,主要用于存储一些简单的键值对数据,如用户设置、偏好设置等。在本文中,我们将深入探讨`SharedPreferences`的工作原理、使用方法以及...
// 保存数据 SharedPreferences.Editor editor = getSharedPreferences("MyPrefs", MODE_PRIVATE).edit(); editor.putString("username", "John Doe"); editor.apply(); // 或者使用 editor.commit(); // 读取数据 ...
`commit()` 是同步的,而 `apply()` 是异步的,但两者都会保存数据。 ```java SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("username", "JohnDoe"); editor.putInt("points...
`Preferences` 提供了一种简单的方式来管理轻量级的键值对数据,通常用于保存用户的偏好设置,例如IP地址、端口号等个性化选项。在Android系统中,这些数据会存储在 SharedPreferences 文件中,格式通常是XML。 `...
`SharedPreferences`是Android提供的一种轻量级的数据存储方式,适合保存用户的一些配置信息。`getSharedPreferences()`方法用于获取`SharedPreferences`对象,`edit()`方法用于获取编辑器,然后通过`putString()`...
Shared Preferences是一种轻量级的数据存储方式,适合于存储简单的键值对数据,如用户设置和偏好。通过SharedPreferences接口,开发者可以方便地读取和写入这些数据。例如,当用户更改应用主题或设置时,我们可以将...
接下来,我们可以使用SharedPreferences.Editor来编辑和保存数据。Editor提供了putXXX()系列方法,用于设置键值对,如putString()、putInt()等。然后,调用apply()或commit()方法将更改提交到SharedPreferences文件...
在Android开发中,偏好设置(Preferences)是一种常用的方法,用于保存和管理用户的个性化设置或应用配置数据。这些设置通常是以键值对的形式存在,便于读取和修改。本篇文章将深入探讨Android的偏好设置,包括基本...
在Android中,我们需要通过`Context`对象的`getSharedPreferences()`方法获取SharedPreferences实例,然后使用`SharedPreferences.Editor`来编辑并提交数据。以下是一个保存数据的示例: ```java SharedPreferences...
在这个"android Sharedpreference的例子代码"中,我们将深入探讨如何使用SharedPreference进行数据操作。 一、SharedPreference基本概念 SharedPreference实质上是一个XML文件,存储在应用的私有目录下,数据以键值...