android数据存储(一)之Shared Preferences及注意事项
来源:互联网 发布:mac 日历 广告 编辑:程序博客网 时间:2024/05/01 12:03
Shared Preferences 经常用来保存应用程序的一些属性设置,在android平台常用于存储较简单的参数设置。
先说说文件创建的几个模式
文件创建模式:Activity.MODE_APPEND
如果该文件已经存在,然后将数据写入,而不是抹掉它现有文件的末尾。
文件创建模式:MODE_PRIVATE
默认模式,在那里创建的文件只能由应用程序调用,即为私有的
文件创建模式:Activity.MODE_WORLD_READABLE
允许所有其他应用程序有读取和创建文件的权限。
文件创建模式:Activity.MODE_WORLD_WRITEABLE
允许所有其他应用程序具有写入、访问和创建的文件权限。(注意!写入的时候会覆盖原来的所有内容)
详细用法如下:
保存数据:
SharedPreferences saveState = getPreferences(Activity.MODE_PRIVATE);SharedPreferences.Editor editor = saveState.edit();editor.putString("msg", "this is first message");editor.commit();
获取数据:
SharedPreferences setting = getPreferences(Activity.MODE_PRIVATE);String message = setting.getString("msg", null);//第一个参数为键值对的键,第二个参数为默认值,即如果查询的键值对不存在,则会返回第二个参数
如果你的程序通过使用preferences来存取数据,那么这些数据究竟放到哪里了呢?
其实,系统每安装一个应用程序时,在/data/data 目录下都会产生一个文件夹,如果应用程序中使用了preferences,那么便会在该文件夹下产生一个shared_prefs文件夹,其中就是我们保存的数据。(文件名好像是用调用shared Prefenences的activity名字命名的,后缀名为.xml)
注意!!使用Shared Preferences保存的数据只能在保存的页面获取,在其他页面不能获取。
证明:首先有两个activity分别为界面一和界面二,界面二是从界面一跳转过去的。
1、首先在界面一获取msg的值为null,界面二获取msg的值为null。
2、在界面二保存一对键值对putString(“msg”,"this is second msg");
3、再次,在界面二获取msg的值为“this is second msg”,返回界面一,在界面一获取msg的值为null。
4、然后在界面一保存一对键值对putString(“msg”,"this is first msg");
5、再次,在界面一获取的msg的值为"this is first msg",跳转到界面二,在界面二获取msg的值为"this is second msg"
由此得知,不同页面保存数据的地方是不一样的,所以要谨慎使用。
- android数据存储(一)之Shared Preferences及注意事项
- Android数据存储(一)Shared Preferences数据存储
- Android数据存储(一)——shared preferences
- 【Android】数据存储之Shared Preferences
- Android数据存储之Shared Preferences详解
- Android数据存储之Shared Preferences
- Android 数据存储之 Shared Preferences
- android 数据存储之 Shared Preferences<转载>
- Android数据存储之Shared Preferences
- Android数据存储之shared preferences
- Android数据存储专题之Shared Preferences
- android数据存储(shared preferences)
- 【Android数据存储】- Shared Preferences
- Shared preferences - Android 数据存储
- android学习笔记之十一数据存储(Shared Preferences、SQLite)
- android学习笔记之十一数据存储(Shared Preferences、SQLite)
- Android[中级教程]第一章 数据存储之Shared Preferences
- Android 小项目之--数据存储【Shared Preferences】
- SQL Server 2008字段精确度
- uva10104 - Euclid Problem
- win7下修改mysql5.0 root 密码
- Android开发之Navigationdrawer导航抽屉功能的实现(源代码分享)
- python中关于时间的处理
- android数据存储(一)之Shared Preferences及注意事项
- android网络编程——使用Android中的网络连接
- 搜狐一题面试题 链表的排序
- OCP 1Z0 051 149
- 温家宝在河北省兴隆县六道河中学作地理讲座
- nginx缓存
- C++课程设计(图书管理系统)
- android开发Day1
- 从网站细节入手提高易用性