[功能]

大家在android开发中 一点有这样的需求 就是需要保存一下与该程序有关的属性设置的问题

比如:window xp 中 <假设系统盘为 C:/> 的位置为: C:\Program Files

那么在android中是怎样呢? 那就是:SharedPreferences

既然它是用来保存数据的 那么一点下面问题:

1. 如何创建

2. 如何加入数据

3. 如何取出数据

因为 很多程序都有这个需要 所以自己把该功能集成并列出一些接口函数 以后用的话 会方便很多 这个类名为:SharedPreferencesHelper

[代码]

1. 以指定名字来创建

  1. SharedPreferences sp;
  2. SharedPreferences.Editor editor;
  3. Context context;
  4. public SharedPreferencesHelper(Context c,String name){
  5. context = c;
  6. sp = context.getSharedPreferences(name, 0);
  7. editor = sp.edit();
  8. }

2. 以键值<String Key,String Value> 的方式加入数据

  1. public void putValue(String key, String value){
  2. editor = sp.edit();
  3. editor.putString(key, value);
  4. editor.commit();
  5. }

3. 以 String Key 为索引来取出数据

  1. public String getValue(String key){
  2. return sp.getString(key, null);
  3. }

4. 如何使用 SharedPreferencesHelper

  1. package com.android.SharedPreferences;
  1. import android.app.Activity;
  2. import android.os.Bundle;
  3. import android.widget.TextView;
  1. /*
  2. * to access from: data/data/com.android.SharedPreferences/share_prefs
  3. */
  4. public class SharedPreferencesUsage extends Activity {
  5. public final static String COLUMN_NAME ="name";
  6. public final static String COLUMN_MOBILE ="mobile";
  7. SharedPreferencesHelper sp;
  8. /** Called when the activity is first created. */
  9. @Override
  10. public void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. //setContentView(R.layout.main);
  13. sp = new SharedPreferencesHelper(this, "contacts");
  14. //1. to store some value
  15. sp.putValue(COLUMN_NAME, "Gryphone");
  16. sp.putValue(COLUMN_MOBILE, "123456789");
  17. //2. to fetch the value
  18. String name = sp.getValue(COLUMN_NAME);
  19. String mobile = sp.getValue(COLUMN_MOBILE);
  20. TextView tv = new TextView(this);
  21. tv.setText("NAME:"+ name + "\n" + "MOBILE:" + mobile);
  22. setContentView(tv);
  23. }
  24. }

5. 其他问题

* 文件存放路径: 因为我的这个例子的pack_name 为:package com.android.SharedPreferences;

所以存放路径为:data/data/com.android.SharedPreferences/share_prefs/contacts.xml

* contacts.xml 的内容为:

  1. <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
  2. <map>
  3. <string name="mobile">123456789</string>
  4. <string name="name">Gryphone</string>
  5. </map>

* 取出的数据为:

转载自: http://www.iteye.com/topic/573212

SharedPreferences(转)的更多相关文章

  1. Android之SharedPreferences数据存储

    一.SharedPreferences保存数据介绍 如果有想要保存的相对较小键值集合,应使用SharedPreferences API.SharedPreferences对象指向包含键值对的文件并提供 ...

  2. SharedPreferences 的另一种场景的用法

    SharedPreferences 的另一种场景的用法 昨天,下班在家想做什么来着,然后想用SharedPreferences存点数据,但是不知道咋地突然想到,SharedPreferences是应用 ...

  3. 取代SharedPreferences的多进程解决方案

    Android的SharedPreferences用来存储一些键值对, 但是却不支持跨进程使用. 跨进程来用的话, 当然是放在数据库更可靠啦, 本文主要是给作者的新库PreferencesProvid ...

  4. 简单的学习心得:网易云课堂Android开发第五章SharedPreferences与文件管理

    一.SharedPreferences (1)SharedPreferences能够用来保存一些属于基本数据类型的数据. (2)保存数据,删除数据都是由SharedPreferences的内部接口Ed ...

  5. android SharedPreferences 存储对象

    我们知道SharedPreferences只能保存简单类型的数据,例如,String.int等. 如果想用SharedPreferences存取更复杂的数据类型(类.图像等),就需要对这些数据进行编码 ...

  6. Android SharedPreferences公共类sharedhelper

    SimpAndroidFarme是近期脑子突然发热想做的android快速开发的框架,目标是模块化 常用的控件,方便新手学习和使用.也欢迎老鸟来一起充实项目:项目地址 sharedpreference ...

  7. Android SharedPreferences存储

    原创文章,转载请注明出处:http://www.cnblogs.com/baipengzhan/p/Android_SharedPreferences.html 一 概念 SharedPreferen ...

  8. Android——SharedPreferences

    SharedPreferences是一种轻型的Android数据存储方式,用来保存应用的一些常用配置. 实现SharedPreferences存储的步骤如下: 1.根据Context获取SharedP ...

  9. SharedPreferences 详解

    获取SharedPreferences的两种方式: 1 调用Context对象的getSharedPreferences()方法 2 调用Activity对象的getPreferences()方法 两 ...

  10. Tray - a SharedPreferences replacement for Android

    一个代替SharedPreferences的开源库, no Editor, no commit() no apply(),因此不存在UI卡顿现象,并且支持多线程,在一个线程中存另一个线程中取数据. h ...

随机推荐

  1. SSL协议运行机制

    SSL/TLS协议运行机制 一.作用 不使用SSL/TLS的HTTP通信,就是不加密的通信.所有信息明文传播,带来了三大风险. (1) 窃听风险(eavesdropping):第三方可以获知通信内容. ...

  2. C语言时间函数

    #include "time.h" #include "stdio.h" #include "stdlib.h" int main() { ...

  3. C++中map的基本操作和使用;

    注:本文来自sina live 的博文 Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本 ...

  4. 新一代 Tor发布,它牛在哪里?

    导读 知名匿名搜索引擎Tor,最近发布了基于火狐浏览器45-ESR的6.0版本,增强了对HTML5的支持,并更新了用来保护加密流量及其更新机制的安全功能.火狐45-ESR版本的全称为Firefox E ...

  5. Unity3D占用内存太大的解决方法

    原地址:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大 ...

  6. Apache Common DbUtils

    前段时间使用了Apache Common DbUtils这个工具,在此留个印,以备不时查看.大家都知道现在市面上的数据库访问层的框架很多,当然很多都是包含了OR-Mapping工作步骤的 例如大家常用 ...

  7. 推荐一个linux下的web压力测试工具神器webbench

    推荐一个linux下的web压力测试工具神器webbench2014-04-30 09:35:29   来源:   评论:0 点击:880 用多了apache的ab工具之后你就会发现ab存在很多问题, ...

  8. linux screen 命令详解(未验证+研究)

    一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  9. python - easy_install的安装和使用

    为什么要装easy_install?正常情况下,我们要给Python安装第三方的扩展包,我们必须下载压缩包,解压缩到一个目录,然后命令行或者终端打开这个目录,然后执行python setup.py i ...

  10. 12.从上往下遍历二元树[LevelOrderOfBinaryTree]

    [题目] 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印. 例如输入 8    /  \   6    10  /\     /\ 5  7   9  11 输出8    ...