Android数据存储(1):SharedPreferences

  Android系统提供了5种方式用来存储应用数据(application data),它们分别是SharedPreferences(共享参数),Internal Storage(内部存储),External Storage(外部存储),SQLite Databases(数据库存储),Network Connection(网络存储),可以根据不同的情景使用相应的存储方式。

  下图是从Android 5.0 官方文档的Data Storage的部分截图:

    

  从上图可知SharedPreferences主要以键值对的形式存储私有数据,Internam Storage主要是在手机的内存存储私有数据,External Storage主要是在手机的扩展卡(SD卡、存储卡)存储公共数据,而SQLite Databases则是将具有数据结构的数据存储到私有的数据库中,同时NetWork Connection则是存储数据到自己的服务器上。

  

  SharedPreferences 又名共享参数,它是一个轻量级的存储类,适用于存储少量的软件配置参数信息,它是以XML文件的形式存储数据,其中该文件保存在/data/data/包名/shared_pref目录下。

  查阅官方文档,知ShredPreferences:

  

  根据以上可知 SharedPreferences是一个接口,它是使用单例模式创建对象,也就是在任何时刻,在内存中都只有一个SharedPreferences对象。

  SharedPreferences是一个接口,它的内部定义了两个公共的内部接口:

  

    

  SharedPreferences定义的方法:

  

  SharedPreferences类的整体定义:

  

  根据以上总结:

  1.获取SharedPreferences对象:

    1)context.getSharedPreferences(String name,int mode)  返回一个SharedPreferences对象,可以被同一应用程序下的其他组件共享。

     eg:  SharedPreferences sp = getSharedPreferences("shared_pref",MODE_PRIVATE);

     name 为SharedPreferences保存的数据所在的文件名称,没有后缀,而Mode为存储的模式,主要有四种:

     

     可知Mode的值有四个(API 17),分别为:

      MODE_PRIVATE:私有

      MODE_APPED:追加

      MODE_ENABLE_WRITE_AHEAD_LOGGING:

      MODE_MULTI_PROCESS:

      其中MODE_WORLD_READABLE(全局读)和MODE_WORLD_WRITEABLE(全局写)已经过时了。

    2)activity.getPreferences(int mode)  返回一个SharedPreferences对象,获得的对象只能在该activity中使用,其中保存的数据的文件名自动命名为该activity的name,例如MainActivity.xml。

      

  2.从SharedPreferences中保存数据和取数据。

    其中取数据可以直接使用sharedPreferences对象的getXXX()方法,如getInt(),getLong(),getString()等,参数为键值对的键.

    保存数据则是先获取SharedPreferences的内部类Editor对象,这是一个编辑对象,然后使用 putXXX()方法,如putInt(),putLong(),putString()等,参数分别为键值对的键和值,最后需要注意的是数据必须使用commit()或apply方法,才能成功保存。

  eg:

    SharedPreferences sp = getSharedPreferences("shared_pref",MODE_PRIVATE);

    SharedPreferences.Editor editor = sp.editor();

    editor.putString("name","Tom");

    editor.putInt("age",13);

    editor.commit();

    ----------------------------------------------------------------------------------------

    String name = sp.getString("name",null);

    int age = sp.getInt("age",-1);

  未完,待续。

时间: 2024-12-13 14:06:31

Android数据存储(1):SharedPreferences的相关文章

Android数据存储-通过SharedPreferences实现记住密码的操作

在Android中登陆中,为了实现用户的方便,往往需要根据用户的需要进行记住密码的操作,所以,在Android数据存储中SharedPreferences恰恰可以实现这一点 下面,小编将带领大家通过SharedPreferences实现记住密码的操作 一.首先:介绍下什么是SharedPreferences? SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置. 二.介绍了SharedPreferences,我们将通过记住SharedPrefe

Android 数据存储之 SharedPreferences储存

------------------------------------------SharedPreferences存储-------------------------------------------- SharedPreferences 使用键值对方式来存储数据的.当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键把相应的值取出. SharedPreferences 支持多种不同数据类型的存储,可以按照需要取出数值型,或者字符型的数据. ----

Android数据存储之SharedPreferences浅析

SharedPreferences 是 Android 数据存储方式中的一种,特别适合用来存储少量的.格式简单的数据,比如应用程序的各种配置信息,如是否打开音效,是否开启震动等等. SharedPreferences 存储数据的位置和格式 SharedPreferences 将数据以键值对的形式,存储在 /data/data/<package name>/shared_prefs 目录下面,以 XML 的格式保存,该 XML 文件的根元素是 <map.../>,该元素里每个子元素代

Android数据存储之SharedPreferences存储

安卓系统为应用提供了系统级的配置存储方案,它就是靠SharedPreferences接口来实现的,该接口存储的所有信息都是以名值对的形式保存,但其保存的数据类型也仅限于基本数据类型,如字符串.整形.布尔型等.这些配置最后会保存在一个XML文件中,每次打开应用时,这些保存的信息就会被加载进来,我们也可以在“管理应用程序”中将这些缓存数据清除. SharedPreferences接口的常用方法如下: SharedPreferences接口类方法 No 方法 类型 描述 1 public abstra

Android数据存储之SharedPreferences

SharedPreferences是一种轻型的数据存储方式,基于XML文件存储key-value pairs键值对数据,通常用来存储一些简单的配置信息.SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现.每一个 SharedPreferences 文件都是由framework管理的并且可以是私有或者可共享的. 数据存储 新建一个Android项目,在MainActivity的onCreate方法中,调用getSharedPreferenc

【Android数据存储】SharedPreferences

1.概述 SharedPreferences 类提供了一个通用框架,以便您能够保存和检索原始数据类型的永久性键值对. 您可以使用 SharedPreferences 来保存任何原始数据:布尔值.浮点值.整型值.长整型和字符串. 此数据将跨多个用户会话永久保留(即使您的应用已终止亦如此). 要获取应用的 SharedPreferences 对象,请使用以下两个方法之一: getSharedPreferences() - 如果您需要多个按名称(使用第一个参数指定)识别的首选项文件,请使用此方法. g

Android 数据存储之 SharedPreferences

SharedPreferences SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.  其存储位置在/data/data/<包名>/shared_prefs目录下.SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现.  实现SharedPreferences存储的步骤如下: 一.根据Context获取SharedPreferences

Android简易数据存储之SharedPreferences

Andorid提供了多种数据存储的方式,例如前面说到的“Android数据存储之SQLite的操作”是用于较复杂的数据存储.然而,如果有些简单的数据存储如果采用SQLite的方式的话会显得比较笨重.例如:记录用户是否访问过APP的欢迎页面之类的数据,如果采用SQLite的话会显得没必要而且费时费力.因此Andorid提供了另一种存储简单数据的方式SharedPreferences.SharedPreferences是一个轻量级的数据存储方式,其仅支持boolean.int.long.float.

Android——数据存储(四种方式之一)SharedPrefereces

Android--数据存储(四种方式) 1.SharedPrefereces   轻量级.XML  存储文件名,数据保存在data/data/basepackage/shared_prefs/myopt.xml中   实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default)   2.读写SD卡  SD的根目录  适用于数据流读写 3.SQLite  轻量级.dp文件多用于手机

Android 数据存储之 SQLiteDatabase

? 惯例:安卓的三种本地的典型数据存储方式 SharedPreferences 以文件格式保存在本地存储中 SQL数据库 本节学习的是 SQLiteDatabase 的使用方式,而在使用方面也只是展示了如何创建数据库,创建表,写入数据.然后查询出来. 因为之前在 word 中操作以表格的形式插入多行代码时遇到了无法高亮,模糊不清的状况,所以本节并不会写出使用方法. 详情请直接访问我的 GitHub 项目:https://github.com/Chenstyle/AndroidTraining 具