参考:http://www.cnblogs.com/friends-wf/p/4835818.html

应用开发过程中,数据存储几乎是肯定会遇到的问题,根据要存储的数据类型和数量,可以选择合适的存储方式。

Android提供了4种存储方式,目前为止我只用过Sqlite数据库和SharedPreference,这里对SharedPreference

存储方式进行总结,以便以后使用。

SharedPreferences主要用于存放软件的配置参数等信息,是存取和修改软件配置参数数据的接口,由getSharedPreferences(String, int)函数返回。任何具体的参数,都有一个单独的该类实例向所有客户端共享。修改参数必须通过SharedPreferences.Editor 对象,以确保这些参数在被提交到外存的时候它们的值处于一致的状态和控制之下。该类暂不支持多进程操作,但是以后将提供该功能。

getSharedPreferences(name,mode);
第一个参数name是程序存储数据信息所生成的xml文件的名字,自定义,此为LightTest.xml,可在此程序的/shared_prefs文件夹下找到
第二个参数mode则是文件的打开方式,默认的模式为0或MODE_PRIVATE,表示该文件的使用范围
  MODE_PRIVATE,则该配置文件只能被自己的应用程序访问
  MODE_WORLD_READABLE,则该配置文件除了自己访问外还可以被其它应该程序读取
  MODE_WORLD_WRITEABLE,则该配置文件除了自己访问外还可以被其它应该程序读取和写入

代码:

// Data Storage
/**
* 存储:
* 1.获得SharedPreferences 的实例对象,通过getSharedPreferences()传递文件名和模式;
* 2.获得Editor的实例对象,通过SharedPreferences的实例对象的edit()方法;
* 3.存入数据,利用Editor 对象的putXXX()方法;
* 4.提交修改的数据,利用Editor 对象的apply()方法。
*/
private void setSharedPreferenceData(String Name, String dataStr) {
//获取SharedPreferences
SharedPreferences sharedPref = getSharedPreferences("LightTest", MODE_PRIVATE);
//打开SharedPreferences的编辑状态
SharedPreferences.Editor editor = sharedPref.edit();
//存储数据,用户名,键值对的形式
editor.putString(Name, dataStr);
//提交,保存数据
editor.apply();
} // Data Reader
/**
* 读取:
* 1.获得SharedPreferences 的实例对象,通过getSharedPreferences()传递文件名和模式;
* 2.读取数据,通过SharedPreferences 的实例对象的getXXX()方法。
*/
private String getSharedPreferenceData(String Name) {
//获取SharedPreferences
SharedPreferences sharedPref = getSharedPreferences("LightTest", Context.MODE_PRIVATE);
//获取LightTest文件中Name对应的数据;
// 注意第二个参数,若此键值对中暂时没有数值,则默认返回第二个参数的值
return sharedPref.getString(Name, null);
}

Android SharedPreference 数据存储的更多相关文章

  1. Android本地数据存储复习

    Android本地数据存储复习 Android无论是应用层还是系统层都需要在本地保存一些数据,尤其在应用层中使用的就更为普遍,大体有这么几种:SharedPreference,file,sqlite数 ...

  2. android学习笔记45——android的数据存储和IO

    android的数据存储和IO SharedPreferences与Editor简介 SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此其保存的数据主要是简单的类型的ke ...

  3. Android中数据存储(一)

    国庆没有给国家添堵,没有勾搭妹子,乖乖的写着自己的博客..... 本文将为大家介绍Android中数据存储的五种方式,数据存储可是非常重要的知识哦. 一,文件存储数据 ①在ROM存储数据 关于在ROM ...

  4. Android实现数据存储技术

    转载:Android实现数据存储技术 本文介绍Android中的5种数据存储方式. 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用Shar ...

  5. android中数据存储

    android中数据存储     Android 中存储数据的方式有五种:SQLite数据库.文件存储.内容提供者.网络.SharedPreferences(Key----value)五种存储方式. ...

  6. Android中数据存储(四)——ContentProvider存储数据

    目录(?)[+]   当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式 Android 的数据存储有5种方 ...

  7. Android中数据存储(三)——SQLite数据库存储数据

    当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式 Android 的数据存储有5种方式: 1. Share ...

  8. 关于Android开发数据存储的方式(一)

    关于Android开发数据存储方式(一) 在厦门做Android开发也有两个月了,快情人节了.我还在弄代码. 在微信平台上开发自己的APP,用到了数据存储的知识,如今总结一下: 整体的来讲.数据存储方 ...

  9. Android本地数据存储: ASimpleCache

    一:前言 在上一篇博客Android本地数据存储: Reservoir 博客中,我提到,除了Reservoir库,还可以采用ASimpleCache开源库,来实现本地数据存储.昨天并没有仔细的对比Re ...

随机推荐

  1. Maya QT interfaces in a class

    Most tutorials online have suggested the way to fire commands inside QT interfaces launched n Maya ( ...

  2. mysql 远程连接 2003 Can't connect to MySQL server (10060)

    mysql server 端的端口被防火墙挡出,没有开放

  3. poj 1818 ATP

    ATP 题意:足球锦标赛使用二分的策略,每次淘汰剩下人的一半,并且数据表明:排名相差k(include)之内的运动员,胜负难料,否则排名前的必定战胜排名后的:问给定n(n = 2x, x∈N, n & ...

  4. boost linux 下安装

    1. 在boost 官网 http://www.boost.org/doc/libs/ 下载最新的boost 安装包 2. 解压至 /usr/local/ 目录下 3. cd /usr/local/b ...

  5. windows下STM32开发环境的搭建

    一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...

  6. UML_时序图画法

    UML建模之时序图(Sequence Diagram) 一.时序图简介(Brief introduction) 二.时序图元素(Sequence Diagram Elements) 角色(Actor) ...

  7. 给JavaScript初学者的24条最佳实践(转:http://www.cnblogs.com/yanhaijing/p/3465237.html)

    作为“30 HTML和CSS最佳实践”的后续,本周,我们将回顾JavaScript的知识 !如果你看完了下面的内容,请务必让我们知道你掌握的小技巧! 1.使用 === 代替 == JavaScript ...

  8. delphi xe5 android iny绿色版+最新SDK/NDK安装方法

    转自: http://bbs.2ccc.com/topic.asp?topicid=438595 首先感谢iny的绿色版,因为我的精简Win7 32位安装原版镜像4.63G过程正常,但是编译出错,后来 ...

  9. Firefly官方教程之Distributed使用文档

    原地址:http://bbs.gameres.com/thread_224191.html distributed使用文档1.distributed说明该模块主要封装了各个服务进程间进行通信的方法.n ...

  10. [杂题]CSUOJ1276 Counting Route Sequence

    题目链接 题意:从1号点走到n号点(每条边只能走一次, 两结点间的边数必定为奇数) 问 经过结点不同顺序的方式有多少种(如1->2->3->4和1->3->2->4 ...