`
antkingwei
  • 浏览: 41819 次
  • 性别: Icon_minigender_1
  • 来自: 日照
社区版块
存档分类
最新评论

Android SharedPreferences应用解析

阅读更多

 在任何软件中,数据存储都是非常重要的,一定程度上来说它是软件的一个中心点,那今天我们就来看其中的一种数据存储方式: Shared Preferences ,它用来存储“key-value paires” 格式的数据,它是一个轻量级的键值存储机制,只可以存储基本数据类型。

   在Android平台上,我们通过getPreferences()方法来获的Preferences对象。通过 "SharedPreferences.Editor editor = State.editor();"取得编辑对象,然后通过“editor.put...()”方法去添加数据,通过commit()方法来保存这些数据,如果不需要与其它模块共享数据,可以使用Activity.getPreferences()方法来保持数据的私有。但是我们不能用这种方法来是多个程序来共享这些数据

下面我们通过一个简单的程序来演示一下:

 package com.preferences;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.TextView;

public class Activity01 extends Activity {
     private boolean mbMusic = false;
   private TextView mTextView = null;
   private TextView mTextView1 = null;
   private String text = "ni shishui";
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mTextView = (TextView) this.findViewById(R.id.textView1);
        mTextView1 = (TextView) this.findViewById(R.id.textView2);

     //得到当前活动的Preferences 对象
       SharedPreferences settings = getPreferences(Activity.MODE_PRIVATE);

      //取得里面的数据
       mbMusic = settings.getBoolean("bmusic", false);
       text = settings.getString("string", text);
        if(mbMusic)
        {

    //用来显示数据
         mTextView.setText("当前的音乐状态:开");
         mTextView1.setText(text);
         mbMusic = true;
         //mediaPlayer.start();
        }else{
         mTextView.setText("当前音乐状态:关");
          mTextView1.setText(text);
        }
      
    }
    public boolean onKeyUp(int keyCode,KeyEvent event)
    {
     switch(keyCode)
     {

    // 用来改变 mTextView的数据
     case KeyEvent.KEYCODE_DPAD_UP:
      mTextView.setText("当前音乐状态:开");
      mbMusic = true;
      //mediaPlayer.start();
      break;
     case KeyEvent.KEYCODE_DPAD_DOWN:
      mTextView.setText("当前音乐状态:关");
      mbMusic= false;
        // mediaPlayer.stop();
         //mediaPlayer.release();
      break;
     }
     return true;
    }
    public boolean onKeyDown(int keyCode,KeyEvent event)
    {
     if(keyCode == KeyEvent.KEYCODE_BACK){

    // 用来获得当前活动的Preferences
      SharedPreferences State = getPreferences(0);

    //取得编辑对象
      SharedPreferences.Editor editor = State.edit();

     // 编辑string类型的数据
      editor.putString("string", "你爸是**呀?");

     //编辑boolean类型的数据
      editor.putBoolean("bmusic", mbMusic);

     //最后用commit()方法来保存编辑的数据
      editor.commit();
      //结束程序
      this.finish();

//可以不用写return
      return true;
     }

 //这个必须写 但可以写成return true;不受影响
     return super.onKeyDown(keyCode, event);
    }


 

分享到:
评论

相关推荐

    SharedPreferences文件在不同应用之间数据共享

    SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于存储应用程序的简单配置信息,如布尔值、整型、浮点型、字符串等基本类型及其数组。通常,SharedPreferences数据是私有的,即每个应用只能...

    android SharedPreferences简单使用

    在Android开发中,SharedPreferences是用于存储轻量级数据的一个实用工具类,主要用来保存应用程序的配置设置或用户偏好。它提供了简单的键值对存储方式,适用于保存非敏感性的个人数据,如用户设置、应用状态等。这...

    SharedPreferences解析

    SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于应用程序内部的数据持久化。它是一个简单的键值对存储系统,常用于存储用户的一些设置或者应用程序的状态信息。在Android开发中,当你需要...

    总结复习android SharedPreferences XML存储方式

    在Android开发中,SharedPreferences是应用数据持久化的一种常见方式,尤其适用于存储小量配置或用户偏好设置。这个机制使用XML格式来保存键值对数据,方便快捷,且易于读写。接下来,我们将深入探讨...

    Android-Fit利用SharedPreferences存储对象

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储一些简单的配置信息,如用户偏好设置、应用状态等。它基于XML文件,提供了键值对的存储方式,非常适合用来保存一些...

    SharedPreferences源码解析及应用.docx

    总结来说,`SharedPreferences` 是 Android 应用中常用的一种轻量级持久化数据的方法,它的使用简单,但需要注意线程和进程安全问题。在多线程环境中,由于其内部的同步机制,我们可以放心地在不同线程中读写数据;...

    SharedPreferences跨应用读取数据的源程序

    在Android开发中,SharedPreferences是应用程序用来存储轻量级数据的关键工具。它主要用于保存用户的偏好设置,如应用的主题、音量设定等。这些数据通常是非结构化的键值对,包括字符串、整数、浮点数、布尔值等类型...

    Android基础 布局、数据存储访问、XML系列化解析和SharedPreferences入门

    SharedPreferences存储对于简单的键值对形式非常方便快捷,同时文档中介绍了如何实现两个应用程序共享某个文件?对于开发公司系列应用,同时各应用需要交叉访问数据,这一点非常有用。 4、Android权限控制 Android...

    Android的SharedPreferences(用于保存系统设置)

    SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于保存应用程序的简单配置信息,如用户设置、应用状态等。它是一种基于XML文件的持久化存储,通常用于保存那些需要在应用程序的不同运行时刻...

    Android高级应用源码-Android解析服务端XML.zip

    【Android高级应用源码-Android解析服务端XML.zip】是一个包含Android高级开发示例的压缩包,主要聚焦于如何在Android应用中解析来自服务端的XML数据。Android平台广泛使用XML来传输和处理结构化的数据,例如新闻、...

    Android-通过注解生成SharedPreferences包装类解决跨进程数据访问不同步的问题

    在Android开发中,SharedPreferences是应用中常用的一种轻量级数据存储方式,用于保存简单的键值对数据,如布尔值、整数、浮点数、字符串等。然而,当多个进程同时访问同一份SharedPreferences时,可能会遇到数据...

    六,Android Xml解析

    3. **Preferences**:XML文件用于存储用户偏好设置,Android提供了`SharedPreferences`接口,可以通过XML解析访问和修改这些设置。 4. **资源文件**:例如字符串资源、颜色资源、尺寸资源等,都在values目录下的XML...

    88个Android应用程序

    GestureRecognizeSample可能是一个实现了自定义手势识别的示例项目,它展示了如何使用Android的手势库(GestureOverlayView)或自定义手势识别算法来解析用户的滑动、点击等手势,并将这些手势转化为特定的操作指令...

    Android天气应用源码

    在Android平台上,开发一款天气应用是一项常见的任务,它涉及到许多Android开发的核心技术。这份"Android天气应用源码"提供了一个完整的实例,可以帮助开发者深入理解如何构建这类应用。下面,我们将详细探讨这个...

    《Android移动应用基础教程》-习题答案.docx编程资料

    ### Android移动应用基础教程知识点详解 #### 第1章 Android基础入门 **填空题解析** - **操作系统层次:** - **Linux内核**:作为Android的基础,它提供了硬件驱动和其他核心服务。 - **核心类库**:这部分...

    C#开发Android应用实战 使用Mono for Android和.NET C#(美)麦克卢尔

    5. **数据存储**:介绍如何在Android应用中使用SQLite数据库、SharedPreferences、ContentProvider等方式来存储和检索数据,以及C#对这些功能的支持。 6. **网络通信**:网络编程是移动应用不可或缺的一部分,书会...

    Android 团购网站解析素材

    在Android开发领域,构建一个团购网站的客户端应用需要对网络数据进行解析,以便展示和操作各种团购信息。这里提到的"Android 团购网站解析素材"涵盖了几个关键的知识点,包括网页内容抓取、HTML解析、XML处理以及...

    Android开发应用实战详解

    Android开发还包括数据存储,如SQLite数据库、SharedPreferences、文件存储以及最近引入的Room库。理解这些存储方式的优缺点以及何时使用它们是提高应用效率的重要环节。 网络编程是现代应用不可或缺的部分。...

    深入Android应用开发:核心技术解析与最佳实践 PDF扫描版 含书签

    《深入Android应用开发:核心技术解析与最佳实践》是一本针对Android开发者深度学习的专业书籍,它涵盖了Android应用开发的各个方面,旨在帮助读者理解Android系统的工作原理,掌握核心开发技术,并提供最佳实践指南...

Global site tag (gtag.js) - Google Analytics