1. 常见的 getSharedPreferences(String filename,mode)

指定sp文件的名称,生成的文件名为 filename.xml

2.getPreferences(mode)

getPreferences只有一个参数,不能指定文件名,文件名固定为
当前Activity的名字,不包含包名。

3.PreferenceManager.getDefaultSharedPreferences(Context)

该SharedPreferences MODE默认为MODE_PRIVATE,而且生成文件名为
<包名>_preferences.xml

------------------三个mode

MODE_PRIVATE 私有的,不允许其他程序访问该xml文件。
MODE_WORLD_READABLE 其他程序可以读取
MODE_WORLD_WRITABLE 其他程序可以写

这里其他程序如何访问呢?
有两种方式:
第一种,在第二个程序中通过File:

File f = new File("/data/data/包名/shared_prefs/xxx.xml");
FileInputStream fis = new FileInputStream(f);//在被访问程序中,MODE_WORLD_READABLE
FileOutputStream fos = new FileOutputStream(f);//在被访问程序中,MODE_WORLD_WRITABLE

第二种,通过被访问程序的Context对象。

Context otherContext = createPackageContext(
"com.anjoyo.sharedpreference", CONTEXT_IGNORE_SECURITY);

第一个参数为要创建context的包名,第二个参数为创建时忽略安全问题。

SharedPreferences sp = otherContext.getSharedPreferences
("loginsetting", MODE_WORLD_READABLE);
String name = sp.getString("name", "");
String pwd = sp.getString("pwd", "");

android 数据存储之SharePreference 的几种方式的更多相关文章

  1. Android数据存储:Shared Preferences

    Android数据存储之SharedPreferences 在Android系统中提供了多种存储技术.通过这些存储技术可以将数据存储在各种存储介质上, Android 为数据存储提供了如下几种方式:1 ...

  2. Android数据存储五种方式总结

    本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据     2 文件存储数据       3 SQLite数据库存储数据 4 使用Cont ...

  3. Android数据存储五种方式

    1 使用SharedPreferences存储数据:常用于做本地缓存 2 文件存储数据:(1)data/data/<package name>/files目录内   (2)SDCard内 ...

  4. Android数据存储之SQLCipher数据库加密

    前言: 最近研究了Android Sqlite数据库(文章地址:Android数据存储之Sqlite的介绍及使用)以及ContentProvider程序间数据共享(Android探索之ContentP ...

  5. Android数据存储方式--SharedPreferences

    Android数据存储方式有如下四种:SharedPreferences.存储到文件.SQLite数据库.内容提供者(Content provider).存储到网络服务器. 本文主要介绍一下Share ...

  6. 10、Android数据存储

    课程目标: 掌握Android中数据存储的几种方式 熟练使用PreferenceActivity&PreferenceScreen做专业的Setting功能 熟练使用SQLite3来存储数据 ...

  7. Android - 数据存储 -存储文件

    Android使用的文件系统和其他平台的基本磁盘的文件系统很相似.这里将要介绍如何使用File API在Android文件系统中读写文件. File对象适合按顺序读写大量的数据.例如,适合图片文件或者 ...

  8. 详解Android数据存储技术

    前言 学习Android相关知识,数据存储是其中的重点之一,如果不了解数据,那么让你跟一款没有数据的应用玩,你能玩多久呢?答案是这和没有手机几乎是差不多的.我们聊QQ,聊微信,看新闻,刷朋友圈等都是看 ...

  9. 【Android开发日记】之入门篇(七)——Android数据存储(上)

    在讲解Android的数据源组件——ContentProvider之前我觉得很有必要先弄清楚Android的数据结构. 数据和程序是应用构成的两个核心要素,数据存储永远是应用开发中最重要的主题之一,也 ...

随机推荐

  1. jquery mouseout和mouseleave区别

    mouseout()和mouseleave() 都是鼠标移出元素时触发,但是这两者又有所区别,需要大家留意: 不论鼠标指针离开指定元素还是该元素子元素,都会触发 mouseout 事件. 只有在鼠标指 ...

  2. Android5.0新特性:RecyclerView实现上拉加载更多

    RecyclerView是Android5.0以后推出的新控件,相比于ListView可定制性更大,大有取代ListView之势.下面这篇博客主要来实现RecyclerView的上拉加载更多功能. 基 ...

  3. Sql语句不能识别Go的解决办法(动态创建表的触发器)

    问题来源 用sqlserver直接打开sql文本,执行没问题,但是当用Sqlcommand类执行cmdtext命令文本时总是失败报错. 原因分析及解决 用数据库直接执行sql语句没问题,甚至还可以用G ...

  4. lucene.net 3.0.3、结合盘古分词进行搜索的小例子(转)

    lucene.net 3.0.3.结合盘古分词进行搜索的小例子(分页功能)   添加:2013-12-25 更新:2013-12-26 新增分页功能. 更新:2013-12-27 新增按分类查询功能, ...

  5. iOS-tableView点击下拉菜单

    #import "ViewController.h" @interface ViewController ()<UITableViewDataSource,UITableVi ...

  6. (原)Ubuntu16中安装cuda toolkit

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5655957.html 参考网址: https://devtalk.nvidia.com/default ...

  7. Android中对手机文件进行读写

    参考张泽华视频 (一)读写手机内存卡中的文件 对手机中的文件进行读写操作,或者新增一个文件时,可直接使用openFileOutput  /  openFileInput 得到文件的输出.输入流. Fi ...

  8. DotNetNuke-DNN Module模块引用自定义CSS或者JS文件

    当新增一个module时,有时会引用自定义的或者第三方CSS.JS文件. 1.添加自定义的CSS时,可以直接在module的根目录下添加module.css,然后框架会自动加载此CSS: 2.这个比较 ...

  9. 用php逐行读取文件

    做个备份年纪大了,都不愿意自己思考了 $str = file_get_contents($tmpfilename);//获得内容 $arr = explode("\n",$str) ...

  10. ckeditor详解

    源网页编辑软件FCKEditor在09年发布更新到3.0,并改名为CKEditor.改进后的ckeditor更加模块话,配置更加灵活,和以前的fckeditor使用方式上也有所不同.在我的mvc项目中 ...