SharedPreferences 是Android数据存储的一种最简单的方式。它一般用来存储应用吃呢光绪的一些属性设置。在Android平台中常用于储存简单的参数设置。Shared Preferences 有点类似我们常用的ini文件

    可以通过getPreferences()方法来获取Preferences对象,通过 SharedPreferences.Editor editor =uiState.edit()获取编辑对象,然后通过editro.put...()方法添加数据。然后通过commit方法来提交这些数据。如果不需要和其他模块共享数据,可以使用Activity.getPreference方法保持数据私有。

  需要注意的是,我们无法直接在多个程序中共享SharedPreferences数据。

 

   下面我们将保存一个文件,在下次的启动的时候自动载入。

 

 代码段一:载入上次的结果。

SharedPreferences settings=getPreferences(Activity.MODE_PROVATE);

bool bOpen=settings.getBoolean("bOpen",false);

 

/*

public abstract boolean getBoolean (String key, boolean defValue)

Since: API Level 1

Retrieve a boolean value from the preferences.

Parameters
key The name of the preference to retrieve.
defValue Value to return if this preference does not exist.
Returns
  • Returns the preference value if it exists, or defValue. Throws ClassCastException if there is a preference with this name that is not a boolean.

*/

 

这里面还有getInt,getString,getLong等等方法可以使用。

 

 

 

 

代码二:保存数据

 

//取得活动的preferences

SharedPreferences uiState=getPreferences(0); //Activity.MODE_PRIVATE=0

//取得编辑对象

SharedPreferences.Editor editor =uiState.edit();

 

//添加或者修改值

editor.putBoolean("bOpen",true);

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

 

//提交保存

editor.commit();

 

 

上面的代码基本上已经演示完了基本的数据操作。利用Preferences可以简单的保存数据。

 

问题是:这些数据到底是保存在上面地方呢?

其实每安装一个应用程序时,在/data/data/目录下会产生一个文件夹,文件夹名为应用程序的Packagename.

在这个文件夹里面会产生一个shared_prefs的文件夹。其中就是我们保存的数据。一般是以xml文件形式存在。

用户可以使用adb 命令来查询或者使用Eclipse 的DDMS视图中的File Explorer 来查阅。

 

 

以上东西虽然简单,但是还是希望自己动手写个SharedPreferencesDemo来练练手。否则就是纸上谈兵了。

 

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. Android性能测试之内存泄露以及GC机制浅析(三)
  5. Android源码中的单例模式
  6. Android::整理基础之—— startActivityForResult相关
  7. android 混淆文件proguard.cfg详解
  8. android的日期格式化 android.text.format.DateFormat类
  9. Android关于获取时间的记录(小结)

随机推荐

  1. C#中Socket框架的使用教程
  2. C#中关于async与await的使用详解
  3. C#中关于表达式树的简单介绍
  4. Rest在asp.net MVC下使用的方法介绍
  5. C#异步之APM模式异步程序开发的示例分享
  6. C#中关于Minutes与TotalMinutes的区别
  7. ASP.NET MVC如何使用Bootstrap的实例分析
  8. C#中关于Cookies的读取实例详解
  9. ASP.NET MVC如何正确运用异步编程技术
  10. C#中关于静态与非静态方法的区别介绍