前言

Android的数据存储机制中还提供了SharedPreferences,SharedPreferences是这其中最容易理解的数据存储技术,采用键值对的方式进行存储,而且支持存储多中数据类型。

获取SharedPreferences对象

SharedPreferences文件存放在/data/data/<package name>/shared_prefs/中,在Android的中,主要提供了三种方式进行SharedPreferences对象的获取。

1.Context中的getSharedPreferences()方法

@Overridepublic SharedPreferences getSharedPreferences(String name, int mode) {    return mBase.getSharedPreferences(name, mode);}

2.Activity中的getPreferences()

/** * Retrieve a {@link SharedPreferences} object for accessing preferences * that are private to this activity. This simply calls the underlying * {@link #getSharedPreferences(String, int)} method by passing in this activity's * class name as the preferences name. * * @param mode Operating mode. Use {@link #MODE_PRIVATE} for the default * operation, {@link #MODE_WORLD_READABLE} and * {@link #MODE_WORLD_WRITEABLE} to control permissions. * * @return Returns the single SharedPreferences instance that can be used * to retrieve and modify the preference values. */public SharedPreferences getPreferences(int mode) {    return getSharedPreferences(getLocalClassName(), mode);}

3.PreferenceManager中的getDefaultSharedPreferences()

/** * Gets a SharedPreferences instance that points to the default file that is * used by the preference framework in the given context. * * @param context The context of the preferences whose values are wanted. * @return A SharedPreferences instance that can be used to retrieve and * listen to values of the preferences. */public static SharedPreferences getDefaultSharedPreferences(Context context) {    return context.getSharedPreferences(getDefaultSharedPreferencesName(context),            getDefaultSharedPreferencesMode());}

SharedPreferences进行存储

获取了SharedPreferences对象,进行存储操作就简单了,实例如下:

public void onClick(View v) {    SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVATE).edit();    editor.putString("name", "Xiaoming");    editor.putInt("age", 18);    editor.commit();    Toast.makeText(getApplicationContext(), "SP写入成功", Toast.LENGTH_SHORT).show();}

这是存储后生成的文件:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?><map>    <boolean name="married" value="false" />    <string name="name">Xiaoming</string>    <int name="age" value="18" /></map>

SharedPreferences进行读取

读取同样简单,代码如下:

public void onClick(View v) {    SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE);    String str = pref.getString("name", "") + "\n"            + pref.getInt("age", 0);    Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();}

总结

通过上面的代码,可以很清楚的了解SharedPreferences的使用方法,也可以看到SharedPreferences比文件存储要方便很多。

博客名称:王乐平博客

博客地址:http://blog.lepingde.com

CSDN博客地址:http://blog.csdn.net/lecepin


Android 数据存储之SharedPreferences存储小记_第1张图片

更多相关文章

  1. Android开发8——利用pull解析器读写XML文件
  2. Android 自动编译、打包生成apk文件 、命令行方式
  3. Android编程之文件操作
  4. Android 文件系统移植
  5. android studio修改配置文件(.android .gradle .AndroidStudio)
  6. Android NDK系列(三)-AS编写C文件没有提示和不识别NULL
  7. Android开发之文件下载
  8. 解决android中使用shape文件画虚线不显示
  9. AndroidManifest.xml文件剖析 (二)

随机推荐

  1. 什么在Android M中被弃用?
  2. Android 3.2 以上转屏,切换屏幕,横竖屏(onC
  3. Android-SurfaceView拍照录像
  4. ListView的上拉弹簧、下拉弹簧,下拉弹簧时
  5. arcgis for android 开发的导航的部分 请
  6. Android 如何清空 Canvas 清屏只需三句
  7. Android:创建常见对话框以及使用对话框实
  8. 4.腾讯微博Android客户端开发——获取未
  9. 如何为sqlite操作构建更有效的设计
  10. 检测电池电量和充电状态