参考: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. SVN菜单说明

    01.SVN Checkout(SVN取出) 点击SVN Checkout,弹出检出提示框,在URL of repository输入框中输入服务器仓库地址,在Checkout directory输入框 ...

  2. Ubuntu Vim YouCompleteMe 安装

    0. 必要工具安装 sudo apt-get install build-essential cmake 1. 安装 vundle mkdir ~/.vim/bundle git clone http ...

  3. Codeforces Round #209 (Div. 2)

    A: 要么是两次要么4次,判断是否在边界: #include<cstdio> using namespace std; int main() { int n,m,x; ; scanf(&q ...

  4. 李洪强漫谈iOS开发[C语言-036]-C语言前四天学习小结

  5. ANDROID_MARS学习笔记_S02_009_Animation_Interpolator

    public class MainActivity extends Activity { private Button button = null; private ImageView imageVi ...

  6. springboot 配置多数据源

    1.首先在创建应用对象时引入autoConfig package com; import org.springframework.boot.SpringApplication; import org. ...

  7. 近期刷题的c语言总结。

    首先是三个数学函数... /* 函数名: floor 功 能: 下舍入,返回小于或者等于指定表达式的最大整数 说明:返回x的下限,如74.12的下限为74,-74.12的下限为-75.返回值为floa ...

  8. 【原创翻译】Reducing Branch Delay to Zero in Pipelined Processors

    在流水线处理器中减少分支延迟到零 Antonio M. Gonzalez and Jose M. Llaberia 摘要 一种减少流水处理器中分支延迟到零的机制将在本文被描述以及评估.这种机制基于多重 ...

  9. Android开发之BroadcastReceiver的使用

    1.静态注册. 在manifest中注册. <receiver android:name="com.exce.learnbroadcastreceiver.MyReceiver&quo ...

  10. trash目录: ~/.local/share/Trash

    trash目录:~/.local/share/Trash