在android中SharedPreferences作为轻量级数据数据是非常方便的,把一个应用程序或是一个Activity的数据存放在SharedPreferences文件中,以便下次进入程序的时候读取出来,呈现给用户或者用作其他的处理。另外,SharedPreferences也可以保存控件的状态,并且为保存的状态改变而指定监听事件,在android系统设置中就大量地用了这种方式。好了,现在来简介一下SharedPreferences的用法;

首先,SharedPreferences是android.content包下的一个接口,该接口中包含了两个子接口一个是Editor,另外一个是OnSharedPreferenceChangeListener。看到名字,就知道这两个接口的含义,Editor接口主要是负责将数据从Preference文件中存储和读取的,而OnSharedPreferenceChangeListener接口是负责监听Preference文件存储状态是否改变,如果改变了可以在自己定义响应的操作。

怎样在程序中获取SharedPreferences的对象呢?从SDK上可以得知,用Context.getSharedPreferences(String,int)可以获取其对象,这里String类型代表的参数是存储文件的名字,而int型参数代表的含义是读写这个存储文件的权限。名字没什么好说的,就是一字符串。而权限的话,有以下几种:


Context.MODE_APPEND;值为32768;该模式会检查文件是否存在,存在就追加内容,不存在就创建文件,并且写入数据。

Context.MODE_PRIVATE;值为0;默认模式,私有,只能被本应用访问。

Context.MODE_WORLD_READABLE;值为1;其他应用可读。

Context.MODE_WORLD_WRITEABLE;值为 2;其他应用可写。


如果想其他应用也能访问该文件并且可以读写的话,可以指定为Context.MODE_WORLD_READABLE+ Context.MODE_WORLD_WRITEABLE的模式

第一:获取本应用的preferences文件

SharedPreferences pre =this.getSharedPreferences("FileName", Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);

pre.edit().putString("Name","张三").commit();

Log.v("yourActivity","Name = " + pre.getString("Name", "nothing") );


第二:获取其他应用的preferences文件

要想获取其他程序的preferences文件,首先要获取它的上下文context对象,比如要去访问包名为dxd.android.test的apk的preferences文件,可以这样来的到它context;

Context otherContext = createPackageContext(“dxd.android.test”,Context.CONTEXT_IGNORE_SECURITY);

只要得到了这个context,接下来的事情就跟在同一个包中一样了。

更多相关文章

  1. Android使用代码进行界面布局和改变图标、标题、名称、主界面
  2. Android官方技术文档翻译——新构建系统概述
  3. 初学Android,数据存储之SharedPreferences(四十一)
  4. Android(安卓)热更新是如何实现的?
  5. java 打印日志
  6. Android(安卓)RenderScript 的使用基础篇
  7. adroid之Sqlite篇
  8. Android应用程序反编译
  9. Android之VOLD文件结构分析

随机推荐

  1. Android(安卓)Studio Build Output 栏内
  2. Android的Shape图片资源,用于做些自定义样
  3. Android(安卓)视频录制 动态图
  4. android-PullToRefreshListView自动刷新
  5. 解决android studio国内开发者Gradle下载
  6. Android(安卓)纹理定距离移动
  7. android 删除开机动画
  8. Android(安卓)studio配置Kotlin
  9. 免费看 Unable to find method 'org.grad
  10. Android侧拉框的简单实现