`
liyf155
  • 浏览: 127964 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android Preferences保存数据的简单实例

 
阅读更多

     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进行数据存储-样例.rar

    Android 使用Shared Preferences进行数据存储-样例,演示如何使用 Shared Preferences 获得数据和保存数据、如何使用getPreferences方法创建文件的模式,以及如何使用getPreferences模拟用户参数设置、查看 ...

    Android之SharedPreferences数据保存

    本资源将通过一个具体的例子来介绍如何使用SharedPreferences进行数据保存。 SharedPreferences通常用于存储应用的偏好设置,比如用户是否开启通知、界面布局选择等。它的优点在于简单易用,读写速度快,而且数据...

    数据存储之Preferences

    在Android开发中,数据存储是不可或缺的一部分,而Preferences则是Android提供的一种轻量级的数据存储机制,主要用于存储用户的一些偏好设置或者简单数据。Preferences通常用于保存应用程序中的键值对,类似于桌面...

    Android 保存List数据(SharedPreferences)

    在Android开发中,数据存储是不可或缺的一部分,尤其是在处理用户数据或者应用状态时。本文将深入探讨如何使用...通过学习和实践,你将能够更好地理解和掌握在Android中利用SharedPreferences保存List数据的技巧。

    Android Preferences

    在深入探讨Android偏好设置(Preferences)之前,我们先简要回顾一下Android数据存储的基本概念及其提供的多种存储选项。根据具体的应用需求,开发者可以选择适合的存储方式来保存持久化数据,这些选项包括...

    android实战 保存QQ密码(android studio源程序工程)

    保存数据时,我们通常会创建一个SharedPreferences对象,然后调用编辑器(Editor)来设置键值对,最后提交更改。 ```java SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE); ...

    Android保存用户数据到手机内存中

    在Android开发中,保存用户数据到手机内存是常见的需求,这涉及到数据持久化的问题。本文将详细介绍如何在Android系统中实现这一功能,主要探讨三种常用的数据存储方式:SharedPreferences、文件存储以及SQLite...

    android ini文件 sharePrefernces 保存数据

    下面将详细介绍`SharedPreferences`的使用及其在保存数据中的作用。 **1. SharedPreferences的使用** 创建`SharedPreferences`对象通常通过以下两种方式: - `getSharedPreferences(String name, int mode)`:在...

    数据存储SharePreferences在android开发中的应用实例

    // 保存数据 editor.putBoolean("isLoggedIn", true); editor.putString("username", "JohnDoe"); // 提交更改 editor.apply(); // 读取数据 boolean isLoggedIn = preferences.getBoolean("isLoggedIn", false); ...

    android 数据存储之 Shared Preferences

    在多种数据存储方式中,`SharedPreferences` 是一种轻量级且易于使用的机制,主要用于存储一些简单的键值对数据,如用户设置、偏好设置等。在本文中,我们将深入探讨`SharedPreferences`的工作原理、使用方法以及...

    android 保存配置文件 SharedPreferences

    // 保存数据 SharedPreferences.Editor editor = getSharedPreferences("MyPrefs", MODE_PRIVATE).edit(); editor.putString("username", "John Doe"); editor.apply(); // 或者使用 editor.commit(); // 读取数据 ...

    利用Shared Preferences,在2个不同的Activity传递数据

    `commit()` 是同步的,而 `apply()` 是异步的,但两者都会保存数据。 ```java SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("username", "JohnDoe"); editor.putInt("points...

    Preferences

    `Preferences` 提供了一种简单的方式来管理轻量级的键值对数据,通常用于保存用户的偏好设置,例如IP地址、端口号等个性化选项。在Android系统中,这些数据会存储在 SharedPreferences 文件中,格式通常是XML。 `...

    Android操作Application的代码例子

    `SharedPreferences`是Android提供的一种轻量级的数据存储方式,适合保存用户的一些配置信息。`getSharedPreferences()`方法用于获取`SharedPreferences`对象,`edit()`方法用于获取编辑器,然后通过`putString()`...

    Android数据存储与访问

    Shared Preferences是一种轻量级的数据存储方式,适合于存储简单的键值对数据,如用户设置和偏好。通过SharedPreferences接口,开发者可以方便地读取和写入这些数据。例如,当用户更改应用主题或设置时,我们可以将...

    android SharedPreferences小例子

    接下来,我们可以使用SharedPreferences.Editor来编辑和保存数据。Editor提供了putXXX()系列方法,用于设置键值对,如putString()、putInt()等。然后,调用apply()或commit()方法将更改提交到SharedPreferences文件...

    android的偏好设置

    在Android开发中,偏好设置(Preferences)是一种常用的方法,用于保存和管理用户的个性化设置或应用配置数据。这些设置通常是以键值对的形式存在,便于读取和修改。本篇文章将深入探讨Android的偏好设置,包括基本...

    android 软件参数设置的保存和读取 附

    在Android中,我们需要通过`Context`对象的`getSharedPreferences()`方法获取SharedPreferences实例,然后使用`SharedPreferences.Editor`来编辑并提交数据。以下是一个保存数据的示例: ```java SharedPreferences...

    android Sharedpreference的例子代码

    在这个"android Sharedpreference的例子代码"中,我们将深入探讨如何使用SharedPreference进行数据操作。 一、SharedPreference基本概念 SharedPreference实质上是一个XML文件,存储在应用的私有目录下,数据以键值...

Global site tag (gtag.js) - Google Analytics