除了SQLite外部数据库。SharedPreferences它是一个轻量级的数据存储,其本质是基于XML文件存储key-value键值数据,通过定期用它来存储一些简单的配置信息。它的存储位置/data/data/< >/shared_prefs文件夹下。SharedPreferences对象本身仅仅能获取数据而不支持存储和改动,存储改动是通过Editor对象实现。实现SharedPreferences存储的过程例如以下:

  一、依据Context获取SharedPreferences对象

  二、利用edit()方法获取Editor对象。

  三、通过Editor对象存储key-value键值对数据。

  四、通过commit()方法提交数据。

以下是用SharedPreferences存储数据的一个案例:

点击开启开启WiFi。设置进度条,保存状态,下次打开此程序,将显示上次保存的状态。

核心code例如以下:

package com.ghsy.demo;

import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.Menu;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener; public class MainActivity extends Activity { private CheckBox checkBox;
private SeekBar seekBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkBox=(CheckBox) this.findViewById(R.id.checkBox1);
seekBar=(SeekBar) this.findViewById(R.id.seekBar1);
/*除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件
*存储key-value键值对数据,通经常使用来存储一些简单的配置信息。其存储位置在/data/data/< >/sh
*ared_prefs文件夹下。SharedPreferences对象本身仅仅能获取数据而不支持存储和改动,存储改动是
*通过Editor对象实现。 */
//sharedPreferences存储数据的步骤:
//1.依据context获取SharedPreferences对象
final SharedPreferences preferences=MainActivity.this.getSharedPreferences("setting",MODE_PRIVATE );
//点击发生状态改变的时候。调用对应的方法
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
//2.通过SharedPreferences获取editor对象(对数据存储改动的对象)
Editor editor=preferences.edit();
//3.通过editor对象存储key-value键值对数据
editor.putBoolean("wifi", isChecked);
//4.通过commit方法提交数据
editor.commit(); }
});
//当点开当前页面的时候,从preferences中获取当前的的wifi开启状态
Boolean boolean1 = preferences.getBoolean("wifi", false);
checkBox.setChecked(boolean1);
//当seekbar在移动的时候对其做一个监听
this.seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// 进度条停止的时候 }
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// 进度条開始移动 }
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// 进度条运动后(在移动)
Editor editor=preferences.edit();
editor.putInt("seek", progress);
editor.commit(); }
});
int progress=preferences.getInt("seek", 0);
this.seekBar.setProgress(progress);
} @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;
} }

Android四个存储数据的SharedPreferences的更多相关文章

  1. android开发之存储数据

    android数据存储之SharedPreferences 一:SharedPreferences SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配 ...

  2. Android使用SharedPreference存储数据

    SharedPreference存储数据和文件存储更加方便的一点是可以按照一定的数据类型进行存储,同时取数据时也能够获取到相应的数据类型.它是按照map的方式来存储和读取数据的. MainActivi ...

  3. 【Android】SharedPreference存储数据

    SharedPreference存储数据 使用SharedPreference保存数据  putString(key,value) 使用SharedPreference读取数据  getString( ...

  4. Android使用文件存储数据

    Android上最基本的存储数据的方式即为使用文件存储数据,使用基本的Java的FileOutStream,BufferedWriter,FileInputStream和BufferedReader即 ...

  5. Android之SharedPreference存储数据

    *路径: /data/data/包名/shared_prefs/ * 以Xml文件存储数据 * 编写步骤 // 1. 获取sp SharedPreferences sp = this.getShare ...

  6. Android的移动存储解决方案之SharedPreferences

    搞Android有一段时间了,但是并没写过有关Android的博客,今天给大家介绍一下SharedPreferences.    使用SharedPreferences保存key-value对的步骤如 ...

  7. android 使用SQLite存储数据

    创建一个类继承SQLiteOpenHelper,重写他的构造方法.onCreate().onUpgrade() 构建出SQLiteOpenHelper实例后,再调用他的getReadableDatab ...

  8. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览

    Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (一) —— 总览   作为一个完成的应用程序,数据存储操作是必不可少的. ...

  9. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences

    除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data ...

随机推荐

  1. 【iOS开发-31】UITabBar背景、icon图标颜色、被选中背景设置以及隐藏UITabBar的两种方式

    一.对UITabBar背景和icon图标的一些设置 (1)由于直接给UITabBar设置的背景颜色显示的不纯.半透明的感觉,所以,有时候我们能够直接利用纯色的图片作为背景达到想要的效果. (2)给ic ...

  2. 大约sources.list和apt-get [转载]

    个人觉得,Debian这与最大的方便apt-get安装软件,apt-get这可能是工作:/etc/apt/sources.list文件中保存着一些server的设置,在这些server上有大量的能够用 ...

  3. leetcode 最长连续序列 longest consecutive sequence

    转载请注明来自souldak,微博:@evagle 题目(来自leetcode): 给你一个n个数的乱序序列,O(N)找出其中最长的连续序列的长度. 例如给你[100, 4, 200, 1, 3, 2 ...

  4. AMR音频编码器概述及文件格式分析

    全称Adaptive Multi-Rate,自适应多速率编码,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的. 一.分类 1. AMR: ...

  5. 代码静态分析工具PC-LINT安装配置

    代码静态分析工具PC-LINT安装配置--step by step                             作者:ehui928                             ...

  6. POJ 3176:Cow Bowling

    Cow Bowling Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13464   Accepted: 8897 Desc ...

  7. ORACLE RMAN介绍

    本地连接: $ rman target /  or $ rman target / nocatalog 远程连接: $ rman target sys/sys@sky RMAN命令执行方式: 1.单条 ...

  8. 开源 java CMS - FreeCMS2.3 留言管理

    原文地址:http://javaz.cn/site/javaz/site_study/info/2015/22027.html 项目地址:http://www.freeteam.cn/ 留言管理 管理 ...

  9. python语言学习9——使用list和tuple

    list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 位置 用索引来访问list中每一个位置的元素,记得索引是从0开始的,到 len-1结 ...

  10. ThinkPHP---RBAC

    一.什么是RBAC 基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注. 在RBAC中,权限与角色相关联,用户通 ...