android 数据存储 SharePreferences 简单使用

SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)。SharedPreferences常用来存储一些轻量级的数据.

SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。

SharedPreferences提供了java常规的Long、Int、String等类型数据的保存接口。

SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问。

提示最终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。

SharedPreferences数据的四种操作模式

  • Context.MODE_PRIVATE
  • Context.MODE_APPEND
  • Context.MODE_WORLD_READABLE
  • Context.MODE_WORLD_WRITEABLE

Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容

Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.

MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.

MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入

代码如下:

//实例化SharedPreferences对象(第一步) 
SharedPreferences mySharedPreferences= getSharedPreferences("test", 
Activity.MODE_PRIVATE); 
//实例化SharedPreferences.Editor对象(第二步) 
SharedPreferences.Editor editor = mySharedPreferences.edit(); 
//用putString的方法保存数据 
editor.putString("name", "Karl"); 
editor.putString("habit", "sleep"); 
//提交当前数据 
editor.commit(); 
//使用toast信息提示框提示成功写入数据 
Toast.makeText(this, "数据成功写入SharedPreferences!" , 
Toast.LENGTH_LONG).show();

执行以上代码,SharedPreferences将会把这些数据保存在test.xml文件中,可以在File Explorer的data/data下导出该文件,并查看。 
那么已经保存好的数据如何读取出来呢。我们来看:

[code] 
//同样,在读取SharedPreferences数据前要实例化出一个SharedPreferences对象 
SharedPreferencessharedPreferences= getSharedPreferences("test", 
Activity.MODE_PRIVATE); 
// 使用getString方法获得value,注意第2个参数是value的默认值 
String name =sharedPreferences.getString("name", ""); 
String habit =sharedPreferences.getString("habit", ""); 
//使用toast信息提示框显示信息

Toast.makeText(this, "读取数据如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit, 
Toast.LENGTH_LONG).show();

源代码如下:

复制代码代码如下:

public class Main extends Activity 

@Override 
public void onCreate(Bundle savedInstanceState) 

super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
}

public void onClick_WriteData(View view) 

SharedPreferences mySharedPreferences = getSharedPreferences("test", 
Activity.MODE_PRIVATE); 
SharedPreferences.Editor editor = mySharedPreferences.edit(); 
editor.putString("name", "karl"); 
editor.putString("habit", "sleep"); 
editor.commit(); 
Toast.makeText(this, "数据成功写入SharedPreferences!" , 
Toast.LENGTH_LONG).show();


public void onClick_ReadData(View view) 

SharedPreferences sharedPreferences = getSharedPreferences("test", 
Activity.MODE_PRIVATE); 
String name = sharedPreferences.getString("name", ""); 
String habit = sharedPreferences.getString("habit", "");

Toast.makeText(this, "读取数据如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit, 
Toast.LENGTH_LONG).show();


}

时间: 2024-11-10 16:02:02

android 数据存储 SharePreferences 简单使用的相关文章

Android 数据存储 利用SQLiteDatabase实现简单的学生管理

转载请注明出处:明桑Android 这是作为上一篇Android 数据存储 如何搞定SQLite Database的实例练习,之所以单独列出来是因为除了数据库方面的知识,还涉及其它方面的知识,所以就写的详细点,啰嗦点.希望对初学者有所帮助.当然这个Demo比较简单,有很多可以改进的地方,但那不是这里探讨的重点,重点学习如何将SQLiteDatabase数据绑定到我们的界面! 本文代码地址:UseSQLitDatabase 我们要做一个简单的学生管理的demo,创建student.db,包括nam

Android 数据存储方式分为哪几种?

10道题值得思考 第一道题 1.Android 数据存储方式分为哪几种? SharedPreferences存储数据 2. CotentProvider内容提供者 3. 文件存储 4. 数据库存储(Sqlite) 5.网络存储 2. NDK是什么? 1. 一系列工具类的集合 2. Arm指令集 3. NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk.这些工具对开发者的帮助是巨大的. NDK集成了交叉编译器,并提供了相应的mk文件隔离

Android数据存储技术五大方式总结

本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配置信息(如是否打开音效.是否使用震动效果.小游戏的玩家积分等),解锁口令密码等

Android——数据存储(四种方式之二)读写SD卡

Android--数据存储(四种方式) 1.SharedPrefereces 只能保存一些简单的数轻量级.XML  存储文件名, 数据保存在data/data/basepackage/shared_prefs/myopt.xml中    实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default) 2.读写SD卡  SD的根目录  适用于数据流读写 实现步骤:加入读写SD卡权限

Android数据存储之GreenDao 3.0 详解(一)

前言: 今天一大早收到GreenDao 3.0 正式发布的消息,自从2014年接触GreenDao至今,项目中一直使用GreenDao框架处理数据库操作,本人使用数据库路线 Sqlite---->OrmLite---->GreenDao.今天白天一直在忙着公司的项目需求,只能晚上加班来学习最新的GreenDao 3.0使用方式了. GreenDao 介绍: greenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单.更

Android数据存储之SharedPreferences浅析

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

android 数据存储的几种方式

总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.其中文件和数据库可能用的稍多一些,文件用起来较为方便,程序可以自己定义格式:数据库用起稍烦锁一些,但它有它的优点,比如在海量数据时性能优越,有查询功能,可以加密,可以加锁,可以跨应用,跨平台等等:网络,则用于比较重要的事情,比如科研,勘探,航空等实时采集到的数据需要马上通过网络传输到数据处理中心进行存储并进行处理. 对于Android平台来讲,它的存储方式也不外乎这几种,按方式总体来分,也是文件,数据库和网络.但从开发者的

Android数据存储 如何搞定SQLite Database

转载请注明出处:明桑Android 在Android平台下有各种不同方法可以实现应用程序数据的存储和管理(SharedPerferences,File,SQLiteDatabase,网络存储),方法的选择依赖于需要存储的数据类型和数据结构.SQLite数据库能够安全而有效地解决结构化数据的存储问题: 这里主要介绍SQLite相关的用法,以及对数据库常见操作的封装. 最后,作为一个综合案例,做一个简单的学生管理的demo,创建student.db,包括name,grade字段,实现增.删.改.查的

【Android的从零单排开发日记】之入门篇(八)——Android数据存储(下)

废话不多说了,紧接着来讲数据库的操作吧.Come On! 提到数据存储问题,数据库是不得不提的.数据库是用来存储关系型数据的不二利器.Android为开发者提供了强大的数据库支持,可以用来轻松地构造基于数据库的应用.Android的数据库应用,依托于当下最流行的开源嵌入式数据库SQLite.在Android中,应用的数据库文件是该应用私有的,存储在应用数据目录下的databases子目录内.从代码结构来看,Android的数据库实现可以分成两个层次,在底层通过C++调用SQLite的接口来执行S